Androidで急速に更新されるデータを記録する最良の方法は何ですか?
私の特定の例では、(加速)onSensorChangedが発生するたびに、さまざまなデータのちょっとした情報を記録しようとしています。いくつかの迅速な処理と表示には問題ありませんが、それ以上 (データのプロットまたは記録) はかなり遅くなります。ファイルではなく変数に保存していることに注意してください。
onSensorChanged ではできる限り少ないことをお勧めします。そのため、次のことを試しました。
- : 記録する残りのデータを取得し、その
IntentService
すべてを変数に格納します。結果: インテント サービスは独自のスレッドで実行されますが、一度に実行できるのは 1 つだけです。そのため、データは処理されるよりも早く到着するように見え、処理されるデータのキューが長くなり、GC_FOR_ALLOC の長く一定したストリームが発生します。最終的にそれを悪い選択にする AsyncTask
記録したい余分なデータをフェッチしてから、それを変数に記録するために を開始しIntentService
ます。 結果: 上記とほとんど同じです。
全体として、これらの方法は両方とも、onChanged で余分なデータのフェッチと記録を行うだけでなく、大幅に多くの電力を消費するよりも実際には大幅にパフォーマンスが低下していました。高速データ ストレージに関する具体的なアドバイスを見つけることができませんでした。おそらくバッファまたはキャッシュの方が効率的でしょうか?