5

Square にはオープン ソース プロジェクト名 Tape http://square.github.io/tape/があり、永続的なファイル バック キューを実装しています。すべての例は、オブジェクトをメインスレッドからキューに追加できることを示しているようです。ただし、Android の他のすべてのベスト プラクティスは、メイン スレッドで I/O を実行することは、ANR でチキンを遊んでいることを示しているようです。

Square Tape ファイル バッキング キューは、メイン スレッドから使​​用するように設計されていますか? もしそうなら、他の形式の I/O に対して ANR を恐れることなく、メインスレッドから確実に安全に使用できるのはなぜですか?

4

1 に答える 1

1

http://square.github.io/tape/の例の中を見ると、Task には次のことができる何かの概念があるため、基本的に各 Task 継承クラスのスレッド内でサービスを使用してジョブを実行する必要があります。実行されます。

必要に応じて、HandlerThread、AsyncTask、さらには Executors を使用していくつかの調査を行い、それらのどれがニーズにより適しているかをテストできます。

于 2014-03-13T04:08:38.577 に答える