2012-11-07 58 views
0

我有2個活動A和B.當從A到B時,A是否銷燬? 如果是,所有變量(靜態或非靜態)是否清除?去下一個活動時活動會破壞嗎?

或者如果不摧毀?活動是否進入某個堆棧?

+2

它進入堆棧 – omi0301

+0

@ omi0301變量有它們的值?或者只是靜態變量? –

+0

請參閱下面Simon的答案...... – omi0301

回答

3

它不被破壞,它會被移動到堆棧。檢查http://developer.android.com/training/basics/activity-lifecycle/index.html

enter image description here
西蒙下面說:當你的活動去堆棧
變量不被破壞。但是,一旦活動不是活動活動,Android可能會銷燬它,而無需對代碼進行任何回調。這就是onPause()和onResume()的用處。你應該保存和恢復任何你需要維護你的活動狀態的方法。

對於靜態變量(如果進程被終止,那麼所有靜態變量將被重新初始化爲它們的缺省值)。檢查Public static variables and Android activity life cycle management

+3

@ Dr.jacky爲了完整起見,當您的活動進入堆棧時,變量不會被破壞。但是,一旦活動不是活動活動,Android可能會銷燬它,而無需對代碼進行任何回調。這就是onPause()和onResume()的用處。您應該保存並恢復您需要的任何內容以維護您的活動狀態。 – Simon

+0

@Simon 1--如何保存某些內容以保持狀態?使用偏好?2 - 關於靜態變量,會發生什麼? –

+0

是的,您可以使用共享首選項來保存變量,對於靜態變量(如果進程被終止,則所有靜態變量將被重新初始化爲其默認值)。 – Nermeen