如何在片段生命週期中啓動AsyncTask如果我需要onCreateView()
在onPostExecute()
之前運行?我知道我可以在onCreateView()
中啓動AsyncTask,但我想知道是否有任何擔保,在交付任何完成的後臺任務之前,UI線程將達到某個點。是什麼導致UI線程在完成時轉換到AsyncTask?在創建視圖之前,我可以在片段中啓動AsyncTask嗎?
回答
我多早可以開始在片段生命週期
一個的AsyncTask你就可以開始在OnCreate()中的AsyncTask,但它並不重要。
是什麼導致UI線程在完成時轉換到AsyncTask?
AsyncTask使用一個處理程序來更新UI,這意味着它將消息發送到UI線程的隊列以備將來執行一段時間。雖然你不知道什麼時候會發生,但在你的情況下,它幾乎總是會在設置片段後執行。
我在我的問題的關鍵部分添加了重點。我需要知道「幾乎總是」可以作爲保證。 – cambunctious
我可以把它放在粗體,但這就是它。幾乎總是。你不知道。你可以改變你的代碼的邏輯。如果在創建片段UI之前強制執行onpost execute,請在添加片段之前或之前的事件/屏幕中執行。 – masp
這不能保證,因爲AsyncTask應該異步運行,並且無法預測它應該運行的時間。
但是,您可以通過在實例化片段之前執行AsyncTask並簡單地將AsyncTask結果傳遞給片段來控制此行爲。這種方法是有意義的,因爲如果你想在調用onCreateView()之前運行它,你可能不需要片段的狀態或實例變量。
- 1. AsyncTask可以啓動另一個AsyncTask嗎?
- 2. 我可以在視圖中隱藏多行代碼片段嗎?
- 3. 我試圖在片段中創建圖像幻燈片視圖?
- 4. 在顯示片段之前執行AsyncTask
- 5. C# - 我可以在Main啓動之前初始化嗎?
- 6. 我可以在創建EntityManager之前設置模式嗎?
- 7. 在創建對象之前,我可以添加事件嗎?
- 8. 我可以在Jenkins管道中創建動態階段嗎?
- 9. Android - 在交換片段之前加載片段的視圖
- 10. 我可以在創建視圖的模型中聽取bacbone視圖更改嗎?
- 11. 我可以在Sql Server 2005中創建xml數據的動態視圖嗎?
- 12. 我可以在片段中構建操作欄嗎?
- 13. 避免在創建片段之前顯示活動佈局
- 14. 在創建列表視圖活動之前預創建行視圖?
- 15. 我可以在默認啓動畫面消失之前添加動畫嗎?
- 16. 我可以在Ajax中創建EL嗎?
- 17. DOM Range對象在啓動之前可以結束嗎?
- 18. 我們可以在css3動畫中移動背景圖片嗎?
- 19. 我可以創建項目特定的代碼片段嗎?
- 20. 我可以創建一個單字節片段(u8)嗎?
- 21. 視圖可以在Access 2000中創建?
- 22. 片段視圖加載是asynctask的一部分時,如何在片段加載之前顯示進度條?
- 23. 在其第一次可見之前啓動/綁定視圖
- 24. 在QApplication創建之前使用Qt metatype系統可以嗎?
- 25. 在配置視圖之前可以進行異步調用嗎?
- 26. 在創建片段之前在活動中執行網絡調用
- 27. Android Honeycomb:片段無法啓動AsyncTask?
- 28. 我的「創建」視圖在我的「索引」視圖中,有可能嗎?
- 29. 我可以使用MySQL中的參數創建視圖嗎?
- 30. 可以在Inno Setup中創建複選框樹視圖嗎?
onAttach()和onCreate()在onCreateView()之前開始 – XxGoliathusxX