我有5個活動前。 Act 1> Act 2> Act 3> Act 4> Act 5.並且每個活動都有onDestroy()的ovveridden。現在如果用戶在Act 5並從最近的Apps中銷燬應用程序會發生什麼?它會調用eachActivity的onDestroy()嗎?會在應用程序銷燬時調用onDestroy()的活動嗎?
回答
通常是的,但是你不能100%地依靠這個,因爲活動可能因其他原因被破壞。例如,如果用戶切換到另一個應用程序,系統可能會決定暫時終止您的活動以回收資源,並在用戶切換回您的應用程序時重新創建它們。如果發生這種情況,然後用戶殺死你的應用程序,你不會得到一個onDestroy()調用,因爲沒有「實時」活動來銷燬,它們都已經死了。
另請注意,onStop()和onDestroy()方法不保證立即調用,它們可能會在一段時間後調用。唯一的保證是調用順序:在onPause()之前不會調用onStop(),onStop()之前不會調用onDestroy()。
在有些情況下,系統簡單地殺死活動的託管過程中無需調用它這個方法(或任何其他人)所提到的,因此它不應該被用來做的事情,是打算在這個過程結束後留在身邊。
被殺死Android應用將很可能是基於PID(進程ID),這意味着就會被殺死的應用而不是單個activites殺死。
如果系統殺死進程,運行服務會發生什麼情況? –
服務與應用程序和/或活動沒有直接關係,並會在後臺運行,直到用戶或系統將其殺死。 –
- 1. 將onDestroy()調用放在onPause()中:確保活動銷燬?
- 2. 在應用程序中銷燬會話
- 3. 如何防止活動在android應用程序中銷燬?
- 4. 銷燬Android應用程序
- 5. 從另一個應用程序中銷燬活動或應用程序本身
- 6. 活動時Android停止線程在銷燬時的活動
- 7. 如何在註銷時銷燬活動?
- 8. 當它被銷燬時,活動會保存它的意圖嗎?
- 9. 爲什麼在調用ondestroy我的活動後,我仍然看到從同一活動銷燬的Toasts
- 10. onDestroy在模擬器中啓動應用程序時調用
- 11. TclError:無法調用「銷燬」命令:應用程序已被銷燬
- 12. 當應用程序被銷燬時,@PersistenceUnit會關閉我的EntityManagerFactory嗎?
- 13. 在heroku上銷燬應用程序
- 14. 在Android應用程序中銷燬的PHP會話
- 15. 在Codeigniter應用程序中銷燬會話變量的Firebug
- 16. 活動暫停時應該銷燬ViewPager碎片嗎?
- 17. 如何銷燬我的應用程序?
- 18. 在應用程序被銷燬後在應用程序中打開相同的活動
- 19. MainActivity在新活動開始時銷燬?
- 20. 如何知道何時啓動並銷燬Android應用程序?
- 21. 在另一個應用程序中銷燬會話變量
- 22. 當點擊另一個應用程序時,我的應用程序會自動銷燬?
- 23. 如何銷燬ExtJS應用程序?
- 24. HistoryRecord的活動銷燬超時
- 25. 無法調用「按鈕」命令:應用程序已被銷燬
- 26. codeigniter會話銷燬兩個不同的應用程序
- 27. 會話銷燬購物車應用程序中的選項
- 28. 的Facebook會話銷燬應用程序關閉
- 29. 如果我在被銷燬的視圖上調用函數,它會炸燬嗎?
- 30. 'IllegalStateException:活動已被銷燬'當'getSupportFragmentManager()'在活動重新啓動後調用
我想實現的是,一旦用戶登錄到我的應用程序,一個服務繼續運行(自動更新),即活動1,並繼續運行,直到我註銷? –
使用服務來處理在後臺的東西,並堅持重要數據(與SharedPreferences或將其保存到一個文件/數據庫),這樣就不會輸,如果它(或者)活動被摧毀,不使用活動保持國家信息。 – Bob
@bikash_binay:那麼你已經問了一個X的Y問題。請編輯您的問題或詢問一個新的問題,列出您真正想要實現的目標。 –