2015-07-10 128 views
0

假設我已經有了標準活動有一個變量,布爾,例如:Activity中的靜態變量是否可以保存其狀態?

public class My Activity extends Activity { 
    public static boolean A = true; 
} 

我immidietly初始化和運行過程中其值會發生變化。這種變量初始化和Activity生命週期是否有一些麻煩。這個布爾型A可以在onPause,onStop或其他生命週期方法中返回它的初始值嗎?它如何對應onCreate()?

+0

當活動被破壞時,你將失去靜態變量。使用onSaveInstanceState()來保存你想要的數據 – 3xplore

回答

0

的(靜態)變量inizialized構造運行之前,所以它會在那裏住了活動的所有lifecicle。 問題是,如果活動被破壞並重新創建(例如,當您旋轉屏幕時):在這種情況下,您將失去班級的所有狀態。 一個解決方案是使用方法onSaveInstanceState()保存活動狀態,並在onCreate()方法中檢索它。

0

是的。您使用yield關鍵字並返回。例如,

yield return A; 

瞭解更多關於網絡關鍵字yield

0

我認爲變量A可以像您的類生命週期那樣生活,但不會活動生命週期。 onPause()意味着這個活動暫停,但你的類仍然活着,所以也是。我認爲它仍然和的onCreate之間的onDestroy活了... ...

相關問題