2016-05-30 105 views
0

我是Android應用程序開發的初學者。AsyncTask()和Handler()之間的主要區別是什麼?

我必須在我的應用程序中使用ping測試來檢查可用的網絡連接,因爲我發現此方法非常有用,但是我在很多地方閱讀過AsyncTask()方法或Handler()方法作爲ping測試UI線程可能會凍結我的應用。

但我沒有得到這兩者之間的差異來決定我應該使用哪一個。我發現在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. 我不理解這兩者之間的區別。它們之間

回答

1

簡單,主要區別是

的是的AsyncTask用來做一些後臺任務,並將結果發佈與/ UI線程沒有最新進展。

如果你不關心用戶界面,那麼處理程序/線程更合適。

相關問題