2014-03-26 92 views

回答

2

通常是的,但是你不能100%地依靠這個,因爲活動可能因其他原因被破壞。例如,如果用戶切換到另一個應用程序,系統可能會決定暫時終止您的活動以回收資源,並在用戶切換回您的應用程序時重新創建它們。如果發生這種情況,然後用戶殺死你的應用程序,你不會得到一個onDestroy()調用,因爲沒有「實時」活動來銷燬,它們都已經死了。

另請注意,onStop()和onDestroy()方法不保證立即調用,它們可能會在一段時間後調用。唯一的保證是調用順序:在onPause()之前不會調用onStop(),onStop()之前不會調用onDestroy()。

+0

我想實現的是,一旦用戶登錄到我的應用程序,一個服務繼續運行(自動更新),即活動1,並繼續運行,直到我註銷? –

+0

使用服務來處理在後臺的東西,並堅持重要數據(與SharedPreferences或將其保存到一個文件/數據庫),這樣就不會輸,如果它(或者)活動被摧毀,不使用活動保持國家信息。 – Bob

+1

@bikash_binay:那麼你已經問了一個X的Y問題。請編輯您的問題或詢問一個新的問題,列出您真正想要實現的目標。 –

0

Activity Page

在有些情況下,系統簡單地殺死活動的託管過程中無需調用它這個方法(或任何其他人)所提到的,因此它不應該被用來做的事情,是打算在這個過程結束後留在身邊。

被殺死

Android應用將很可能是基於PID(進程ID),這意味着就會被殺死的應用而不是單個activites殺死。

+0

如果系統殺死進程,運行服務會發生什麼情況? –

+0

服務與應用程序和/或活動沒有直接關係,並會在後臺運行,直到用戶或系統將其殺死。 –

相關問題