2014-01-24 48 views
3

Android中靜態變量的生命週期是什麼?Android中的靜態變量生命週期

我發現,有時綁定到活動的某些靜態變量偶爾會被初始化爲未初始化!我認爲,當一個靜態變量被初始化時,它在整個應用程序的整個生命週期中都保持這種狀態,但似乎並非如此。

+0

你如何定義「應用程序的生命」? – Henry

+0

你如何定義「應用程序」? – SK9

+0

「我發現有時一些綁定到活動的靜態變量偶爾會被初始化,但是它們並未初始化!」實際情況恰恰相反。 – 2016-07-18 10:11:49

回答

3

如果內存不足並且所有活動都在後臺(不可見),Android可能會終止您的應用。但是你的活動仍然在歷史中,用戶可能會再次激活它。在這種情況下,系統將重新創建您的應用並恢復其狀態。 要處理這種情況,您應該將應用程序和活動的狀態存儲在持久內存(文件,數據庫等)中。 更多信息你可能會發現這裏http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState

+0

感謝這就是我一直在尋找.... –

1

這要看是你定義它,例如:

如果進程被終止,那麼所有靜態變量將重新初始化爲默認值。

因此,無論您在活動A中設置的值如何,都不會持續。活動被破壞時也是如此。