2016-05-30 10 views
0

私はアンドロイドアプリ開発の初心者です。AsyncTask()とHandler()の主な違いは何ですか?

このメソッドは非常に便利だと私は知っているので、私のアプリではpingテストを利用する必要がありますが、AsyncTask()メソッドやHandler()メソッドをpingテストとして使うべきです。 UIスレッドでアプリがフリーズすることがあります。

しかし、私はどちらを使うべきかを決定するためにこれらの2つの違いを得ていません。 AsyncTaskには、doInBackground()やonPostExecuteのようなメソッドがあり、UIスレッドとのやりとりや他のスレッドでのプロセスのやり取りに役立つことがわかりました。

しかし、私はHandler()メソッドでこのようなメソッドを取得していません。私はハンドラのメソッド(取得していないのです

Handler handler = new Handler(); 
Runnable runnable =new Runnable() { 
@Override 
public void run() { 
    handler.postDelayed(this,1000); 
} 
}; 
handler.post(runnable); 
  1. )がバックグラウンドで実行されていると私は)(AsyncTaskで見られるようにその方法は、バックグラウンドでアプリの実行を行うために役立ちます。
  2. 私はこれら2つの違いを理解していません。それらの間の

答えて

1

シンプルとの主な違い

アンAsyncTaskは、いくつかの背景タスクを実行し、進捗状況を更新せずに/を持つUIスレッドに結果を公開するために使用されています。

UIに関心がない場合は、ハンドラ/スレッドが適切です。