一定時間 (約 1 時間) 継続的に加速度値を処理する必要があるアプリを開発しています - はい、本当にそのようにしたいと思います。処理には、いくつかの計算の実行と、UI の随時更新が含まれます。加速度は (フォアグラウンド) サービス内で収集されます。ユーザーがアプリを最小化すると、加速度の収集が発生するはずです。
私の質問は、これを実装するための最も適切なパターンは何ですか? 処理によってアプリの UI が応答しなくなることは望ましくありません。
現在、UI スレッド (サービス内) で加速度データを収集しています。収集されたデータは、いくつかの計算を行うクラスに渡され、それに基づいて Intent をブロードキャストします。これは Main アクティビティに登録され、UI を更新します。
サービスのワーカー スレッドで加速度データを収集する必要がありますか? (これも可能ですか)?または、別のスレッドで処理を行う必要がありますか? (UI/アクセラレーション収集スレッドまたは処理スレッドを枯渇させずにこれを行う最善の方法は何でしょうか)?
ありがとう!