1

私のアプリには高いデータ スループットが必要です。Bluetooth 経由で着信データ ストリームを受信し、それを解析、スケーリング、表示、およびデータを保存する必要があります。

さまざまなストレージ方法を読んだ後、データ ストレージに Sqlite を使用することにしました。読んだところ、最高の書き込みパフォーマンスが得られるようです。トランザクションを使用する必要があります。

しかし、そこに行く前に、DB ハンドラーを独自のスレッドにする必要があるかどうか疑問に思っています。BT データ処理は既に別のスレッドにあり、うまく機能しています。複数のスレッドから sqlite にアクセスすることについて多くの議論が見られますが、DB 接続を処理する 1 つのスレッドが必要であり、インテントを使用してデータを取得/保存するだけでよいと考えています。ほとんどの場合、データ ストレージからディスプレイを切断するだけです。

これによりパフォーマンスが向上しますか、それとも価値がありませんか?

最大 19 のフィールドで 1 秒間に 20 ~ 50 行を書き込むことになると思います。

4

1 に答える 1

0

SQLite は完全にメモリ常駐であることを思い出してください。処理を遅くするディスク待ち時間はありません。そのため、不要なオーバーヘッドが発生しないように、まずアーキテクチャをできるだけシンプルに保つようにします。

于 2012-10-18T21:46:26.137 に答える