在我的應用程序中,有時候可能需要很長時間才能加載一些值(例如從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. 關於活動的生命週期
- 7. 關閉後臺活動
- 8. 關閉android子活動
- 9. 活動生命週期相關問題
- 10. 關於活動生命週期
- 11. 關於android活動生命週期的愚蠢問題
- 12. Android活動 - 生命週期:onPause和onDestroy之間的關係
- 13. Android項目生命週期 - 活動生命週期之前(Activity.onCreate())
- 14. 澄清Android活動生命週期
- 15. Android活動生命週期問題
- 16. Android活動生命週期測試
- 17. Android:關閉您的前任的活動
- 18. 關閉時添加動畫活動 - android
- 19. 完成(關閉)觸摸的Android活動
- 20. 關閉一個具體的活動android
- 21. 關閉Android中的活動層次
- 22. 檢測Android中的活動已關閉
- 23. Android:如何從活動活動關閉前臺活動?
- 24. Android,無限項目活動數量和活動生命週期!
- 25. Android。如何關閉崩潰後的所有活動
- 26. 如何在經歷生命週期破壞的同時關閉一項活動?
- 27. 後退按鈕關閉兩個活動?
- 28. 關閉活動後RecyclerView/db未更新
- 29. 「後退按鈕」不關閉活動
- 30. 隊第一個活動後關閉
它主要發生在我試圖從谷歌地圖獲取駕駛路線時! – freshDroid
是的。任何在線數據拉應該異步發生。因爲你不知道用戶連接有多強,或者從服務器拉取數據需要多長時間,所以你不能讓你的用戶等待(凍結用戶界面)等待數據..它必須在一個線程或異步任務,所以主要活動不會等待數據。即使您的應用需要一小時才能加載,只要您的主要活動未凍結即可。 – Joe
我們是否可以管理強制關閉後啓動的頁面? – freshDroid