2011-11-11 68 views
2

試圖找到關於Android應用生命週期的一些信息。所以想象一下情況:我打開應用程序並鎖定屏幕,並在幾個小時內殺死我的應用程序。當我解鎖屏幕時會發生什麼?我會在屏幕上看到什麼? Android主屏幕?或應用程序會自動重新爲我?活動堆棧會恢復嗎?我會很高興的任何幫助。謝謝...安卓應用程序生命週期和活動

+1

我第一次聽到「lifecircle」這個詞。 –

回答

4

Activity lifecycle是你在找什麼。

有沒有這樣的東西作爲應用程序生命週期或lifecircle。每個活動都有自己的生命週期。如果系統需要更多內存,則會在onPause()onStop()狀態中被殺死。如果您的所有活動都被殺害,該應用程序將不再可見。如果您希望數據持續存在,您必須重寫onPause()onResume()並在那裏保存/恢復您的數據。

您的應用程序將永遠不會自行恢復,如果有被殺的活動。如果您想在完成活動後「恢復」,則必須手動跟蹤您的活動。

爲了使它更精確:一個活動可以被殺死,其餘可以保持暫停狀態。如果你然後返回到你的應用程序,你會得到你的活動堆棧中沒有被殺死的最後一個活動。

+0

您是否看過我的帖子? – Jim

+0

我正在尋找應用程序生命週期,而不是活動 – Jim

+0

是的,但答案在於活動生命週期內。如果任何活動處於onPause或onStop狀態,則可以終止任何活動。 – stefan

0

如果您的應用程序被系統終止話,我不認爲它會顯示在您解鎖屏幕。如果在你的應用程序下面的主屏幕在那裏,那麼我認爲它會顯示,因爲你的應用程序已被系統殺死。

0

在某些情況下,你也可以繼承應用程序類:

對於那些誰需要保持全球應用程序狀態的基類。 您可以通過在您的AndroidManifest.xml標籤中指定其名稱來提供您自己的實現,這會在您創建 應用程序/軟件包的過程時爲您創建該類 。

然後使用應用程序回調方法。

http://developer.android.com/reference/android/app/Application.html

5

有一個生命週期爲Android應用程序,但應用程序限制了控制自己的生命週期,而不是組件必須偵聽在應用程序狀態的變化並作出反應。因此,變化如下面的

  1. 的onCreate
  2. onLowMemory
  3. onTrimMemory
  4. onConfigu rationChanged

並且通過擴展應用程序類並覆蓋它們以相應地進行響應來訪問這些方法。

關於,