我在尋找有關此問題的最佳做法。AsyncTask與否?服務器同步活動
基本上,在進入主要活動之前,我有一個「啓動」活動的應用程序。用戶根本無法做任何事情,因爲應用程序需要先通過拋出一些HTTP請求來與服務器同步。
最簡單的路線是按順序在UI線程上運行每個HTTP請求。這有什麼特別的問題嗎? (即處理Android框架通常會被阻止?,...)。我喜歡在第一個版本中實現這個功能,並在稍後使用下面列出的方法進行完善。
否則,從用戶角度來看,最好是每個HTTP請求同時啓動一個AsyncTask,並在啓動下一個活動時在UI線程中同步。
乾杯。 l_ingenu
IntentService的作業已排隊。這並不總是可以接受的行爲。 –
來自Android ICS的AsyncTask(4.0)AsyncTask也被序列化(排隊),這會破壞你的邏輯。當應用程序處於後臺並且用戶更改方向/更改活動時,IntentService還允許您繼續進行網絡工作。在這裏尋找更多有關AsyncTask迴歸的信息:http://commonsware.com/blog/2012/04/20/asynctask-threading-regression-confirmed.html – StErMi
AsyncTask序列化可以通過使用'executeOnExecutor()'來輕鬆解決。改變方向不是問題。 –