AndroidでファイルI/Oを実行する - どのスレッドが属しますか
-
09-10-2019 - |
質問
ブラッドフィッツパトリックを読んだ後 記事 StrictModeでは、いくつかの質問が残ります。
ファイルI/Oは私のアプリケーションのどこに属しますか? (UIスレッドが間違っていることはわかっていますが、新しいスレッドを生み出す可能性がありますか?)
ディスクアクセスを実行するためにスレッドを使用する必要がある場合、アプリケーションはどのように実装を処理する必要がありますか?パラメーターをasynctaskに送信しますか?共有変数?応答性だけでなく、メモリの使用量を最適化したい(特に携帯電話に顕著な違いがないため)
@Bradこれを読んでいる場合:これがフレームワークで行われたサンプル(またはAOSPソースの場所へのリンク)を含むブログ投稿が大好きです。
みんな、ありがとう!
解決
スレッドについて心配しないでください。新しいスレッドを起動すると、ディスクよりも速いです。 Nexus Oneでは、IIRC、新しいスレッドを作成し、ループで開始するのは1ミリ秒です。
アプリケーションに最も適したものはすべて、Asynctask、Intentservice、または共有状態を備えた新しいスレッド(適切なロック付き!)を使用します。 Asynctaskは、ユーザーが切り替えてしまった場合に実行を続けることが保証されていますが、使いやすく、完了したらUIスレッドに戻ってきます。 Intentserviceは実行され、完全に完了しますが、結果を使用してUIスレッドに戻るのに役立ちません。結果を(もしあれば)をUIスレッドのハンドラーに送信する必要があります。
所属していません StackOverflow