1. ホーム
  2. android

[解決済み] アンドロイドのAsynctaskとThreadの比較

2022-04-28 01:40:35

質問

UIでは、バックグラウンドの作業を行うために、別の Thread . しかし、他の人からの提案により、現在は AsyncTask .

との主な違いは何ですか? ThreadAsyncTask ?

どのシナリオで Thread または AsyncTask ?

解決方法は?

長時間稼働するタスクやCPUに負荷のかかるタスクの場合、基本的に2つの方法があります。Javaスレッドと、AndroidのネイティブなAsyncTaskです。

どちらが優れているというわけではありませんが、それぞれの呼び出しをいつ使うかを知っておくことは、システムのパフォーマンスを有利に活用するために欠かせません。

AsyncTaskを使うのは以下のような場合です。

  1. 大量のデータをダウンロードする必要がない、シンプルなネットワーク操作
  2. 数ミリ秒以上かかるようなディスクに縛られるタスク

Javaスレッドを使用するのは

  1. 中~大容量のデータを扱うネットワーク操作(アップロードまたはダウンロードのいずれか)
  2. バックグラウンドで実行される必要がある高CPUタスク
  3. GUIスレッドと相対的にCPU使用率を制御したいタスク

また、インターネット上には、あなたを助けるかもしれない良いリソースがたくさんあります。

http://www.vogella.com/articles/AndroidBackgroundProcessing/article.html