問題は、スレッドをかなり長い間実行し続ける必要があり (実際には無期限で、1 分または数か月になる可能性があります)、1 ミリ秒ごとに約 1 回 UI を更新する必要があるということです...
Executor
、AsyncTask
、Handler
およびネイティブクラスがありThread
ますが、この場合はどちらが適していますか?
の問題は、 がバックグラウンドで実行を開始してから 1 時間ほど後にAsyncTask
破棄 (または ? から切り離され) され、ユーザーはいつでも に戻って、それが機能していないことを確認できることです (さらにはメモリ リークを引き起こします)。 )、別のアクティビティに変更したり、通知パネルをプルダウンしたりすると、UI が遅れます。Activity
Activity
Activity
UI の更新が必要になるたびpost()
にメソッドが呼び出されるため、Natural Threads はさらに遅延が大きくなります (約 1 ミリ秒ごとに進行状況を報告する必要があることを思い出してください)...TextView
tl:dr ミリ秒から数日、数週間、さらには数年まで測定できる長時間実行ストップウォッチを開発しています。これに最適なUI 集中型のスレッド化手法は何ですか?
手伝っていただけませんか?ありがとう!!
---編集:解決しました。システム リソースとアプリをバックグラウンドに移動する必要がありました。最初の時間と一時停止をバンドルとして保存し、アプリの再起動時にそれらをロードする必要がありました。みんなありがとう!