UI では、バックグラウンド作業を実行するために、別の を使用していましたThread
。しかし、他の人の提案に従って、現在は を使用していますAsyncTask
。
Thread
との主な違いは何ですかAsyncTask
?
どちらのシナリオでThread
と のどちらを使用すればよいですかAsyncTask
?
ベストアンサー1
長時間実行されるタスクや CPU を集中的に使用するタスクの場合、基本的にこれを行う方法は 2 つあります。Java スレッドと Android のネイティブ AsyncTask です。
どちらかが他方より優れているとは限りませんが、各呼び出しをいつ使用するかを知ることは、システムのパフォーマンスを最大限に活用するために不可欠です。
AsyncTask は次の場合に使用します:
- 大量のデータをダウンロードする必要のないシンプルなネットワーク操作
- 数ミリ秒以上かかる可能性のあるディスクバウンドタスク
Java スレッドは次の場合に使用します。
- 中程度から大量のデータ(アップロードまたはダウンロード)を伴うネットワーク操作
- バックグラウンドで実行する必要がある高CPUタスク
- GUIスレッドに対するCPU使用率を制御したいタスク
また、インターネット上には役立つ優れたリソースが多数あります。
http://www.vogella.com/articles/AndroidBackgroundProcessing/article.html