2

Android デバイスを Bluetooth 経由で組み込みのデータ取得システムに接続しています。DAQ システムは、50Hz から潜在的に 880Hz (将来的にはそれ以上) までのデータ サンプルを取得し、データが収集されるとき、またはより高速なサンプル レートでバンドルとして Android デバイスにプッシュします。

Bluetooth接続を管理する方法の例はたくさんありますが、データをどうするかについてはあまりありません.

データをある種の長期ストレージに保持し、これらの高いサンプル レートで長期間継続的にこれを実行できるようにする必要があります。

私はこれを UI スレッドから実行することを知っているので、それについて口論する必要はありません。Android のどのストレージ メディアが、この着信データに対応できるほど高速に応答できるでしょうか? SQLite データベースは十分に高速でしょうか? かなり早く沈みそうです。

4

1 に答える 1

0

これは非常に古い質問であることは知っていますが、とにかく答えを出すと思いました。SQLite が動作するはずです。保存するデータに応じて、データを特定の長さのバイト配列にバッファリングすることをお勧めします。その配列がいっぱいになったら、それを SQL データベースに挿入し、すべての新しいデータを新しい配列に受け入れます。それがいっぱいになったら、データベースに保存します。などなど。このようにして、一種のダブルバッファリングを実現できます。データベースの変更にはディスク I/O が含まれます。小さいチャンクをたくさん書き込むよりも、大きなチャンクのデータをディスクに書き込む方が効率的であるため、バッファを使用します。

于 2013-06-02T22:42:28.587 に答える