2014-11-24 144 views
0

我的問題很簡單。什麼方法可用於在後臺執行任務

有什麼不同的方法可用於在後臺執行任務,以及對他們有什麼優點和缺點?

我在其他過程中使用了一些像Thread,AsyncTask,TimerTask,Serivce,Service但我不知道他們的優點和缺點。

+0

[背景工作的最佳實踐](https://developer.android.com/training/best-background.html) – Gattsu 2014-11-24 14:01:42

+0

謝謝,但從我可以看到,該鏈接不包含有關線程的任何信息, AsyncTask,你有什麼,或者他們的優點和缺點。 – 2014-11-24 14:17:29

回答

1

對於小任務使用AsyncTasks。如果您想定期執行某些操作(例如每x秒檢查一次更新),請使用後臺服務(後臺服務即使在您關閉應用程序時也可以運行,但不必)。

看這裏,這對Asynctasks和線程很好的解釋和教程: http://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html

+0

謝謝!該網站還解釋了一些方法的缺點。只是我一直在尋找:) – 2014-11-25 18:25:33

0

AsyncTask - 可爲在後臺完成簡單的任務。通常用「Fire and Forget」思維啓動一個新線程。

Thread - 適用於有幾個步驟的過程,或需要在後臺永遠運行。

TimerTask - 對於需要在基於時間的時間表上執行的任務很有用。

Android Service - 這些共享應用程序的主線程。服務基本上是一個沒有佈局的活動。用於在應用程序或活動的整個生命週期中在後臺運行進程,但需要爲繁重的任務生成自己的線程。

相關問題