2016-05-30 8 views
0

Ich bin ein Anfänger in Android-App-Entwicklung.Was ist der Hauptunterschied zwischen AsyncTask() und Handler()?

Ich muss Ping-Test in meiner App für die Überprüfung der verfügbaren Internetverbindung verwenden, wie ich diese Methode sehr nützlich gefunden habe, aber ich lese an vielen Orten, dass ich AsyncTask() -Methode oder Handler() -Methode als Ping-Test verwenden sollte UI-Thread kann meine App einfrieren.

Aber ich bekomme nicht den Unterschied zwischen diesen beiden zu entscheiden, welche ich verwenden sollte. Ich habe festgestellt, dass in AsyncTask Methoden wie doInBackground() und onPostExecute zur Verfügung stehen, die bei der Interaktion mit UI-Threads und Prozessen, die in einem anderen Thread ausgeführt werden, hilfreich sind.

Aber ich bekomme solche Methoden nicht in Handler() -Methode.

Handler handler = new Handler(); 
Runnable runnable =new Runnable() { 
@Override 
public void run() { 
    handler.postDelayed(this,1000); 
} 
}; 
handler.post(runnable); 
  1. Ich bin nicht das Verfahren in Handler bekommen() im Hintergrund ausgeführt wird und welche Verfahren sind nützlich für die Herstellung der App im Hintergrund läuft, wie ich in AsyncTask() gefunden.
  2. Ich verstehe nicht den Unterschied zwischen diesen beiden.

Antwort

1

Einfach und Hauptunterschied zwischen ihnen ist

Ein AsyncTask verwendet wird, einige Hintergrund Aufgabe zu tun, und das Ergebnis an den UI-Thread mit/ohne Fortschritt Update zu veröffentlichen.

Wenn Sie nicht mit UI beschäftigt sind, dann sind ein Handler/Thread besser geeignet.

Verwandte Themen