在我的應用程序中,有時候可能需要很長時間才能加載一些值(例如從Google地圖中檢索行車路線)。這會導致啓動「等待」警報對話框。我希望知道單擊Force關閉按鈕時會發生什麼?我的意思是啓用強制關閉時將運行什麼代碼?我們是否可以手動調整「等待」警報對話框出現的時間?如果不是這個對話框出現的默認時間是什麼?Android:關閉後的活動週期
回答
我知道它有時可能很煩人,但他們幾乎故意地(在我看來)確保程序員確保他們的應用程序順利運行,沒有UI凍結。 我現在無法找到它的文檔,但如果我記得正確它的約4秒.. 你只需要確保沒有UI凍結或延遲你的應用程序,這意味着如果你的值需要更多,然後加載幾秒鐘,他們應該加載異步。
您需要將主要活動中的任何重物從異步運行(使用async task或thread)。
據我所知,當你進入該對話框時,Android操作系統已經接管並正在殺死你的進程。如果這是經常發生的事情,那麼應該使用堆棧轉儲來確定哪些應用程序崩潰。
您應該在Android線程上閱讀this article。
你永遠不想在你的主線程上執行任何長時間運行的任務。如果該操作需要超過幾分之一秒的時間,則應該使用AsyncTask或創建自己的後臺線程來執行任務。
您不應該在事件線程上進行耗時的初始化。你應該啓動後臺線程(或AsyncTask)來完成初始化工作。請參閱指導主題Designing for Responsiveness。後續閱讀應包括Processes and Threads和Painless Threading。
我們可以管理強制關閉後啓動的頁面嗎? – freshDroid
@freshDroid - 我不這麼認爲。操作系統已經接管並正在殺死你的應用程序。 –
所以唯一的辦法是避免所有發射力等待的情況? – freshDroid
- 1. Android活動生命週期
- 2. android活動生命週期
- 3. Android活動生命週期
- 4. Android:結果後關閉活動
- 5. 如何在關閉android中的其他活動後關閉主要活動?
- 6. 的Android,活動被關閉
- 7. 關閉android中的活動
- 8. 活動週期
- 9. Android:在關閉WiFi時關閉活動
- 10. 你應該在哪裏關閉android活動生命週期中的數據庫?
- 11. Android關閉所有對話框後關閉活動
- 12. 關於活動的生命週期
- 13. 關閉活動後執行
- 14. 關閉後臺活動
- 15. 按周分組日期:開放,關閉,活動
- 16. 的Android間活動的生命週期
- 17. 無法關閉android活動
- 18. 關閉android子活動
- 19. 啓動後的Android調用活動?活動的生命週期,BroadcastReceivers。
- 20. Android中的活動生命週期
- 21. Android的活動週期衝突
- 22. Android活動生命週期的混亂
- 23. Android的生命週期活動
- 24. 在調用並關閉片段後返回到活動並不會改變我的活動的生命週期
- 25. 活動生命週期相關問題
- 26. 活動週期 - 報關序列
- 27. 關於活動生命週期
- 28. 關於android活動生命週期的愚蠢問題
- 29. Android活動 - 生命週期:onPause和onDestroy之間的關係
- 30. Android活動生命週期與流程生命週期
它主要發生在我試圖從谷歌地圖獲取駕駛路線時! – freshDroid
是的。任何在線數據拉應該異步發生。因爲你不知道用戶連接有多強,或者從服務器拉取數據需要多長時間,所以你不能讓你的用戶等待(凍結用戶界面)等待數據..它必須在一個線程或異步任務,所以主要活動不會等待數據。即使您的應用需要一小時才能加載,只要您的主要活動未凍結即可。 – Joe
我們是否可以管理強制關閉後啓動的頁面? – freshDroid