Activity中的静态变量可以保存其状态吗?

时间:2015-07-10 13:29:57

标签: android

假设我有一个变量boolean的标准活动,例如:

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

我将其初始化为immidietly,其值将在运行时更改。这种变量初始化和Activity生命周期是否存在一些问题。这个布尔值A能否在onPause,onStop或其他生命周期方法中返回其初始值?它与onCreate()的对应关系?

3 个答案:

答案 0 :(得分:0)

是。您可以使用yield关键字返回。例如,

yield return A;

详细了解网络上的关键字yield

答案 1 :(得分:0)

我认为变量A和你的类生命周期一样,但不是活动生命周期。 onPause()意味着活动正在暂停,但你的班级仍然活着,所以也是。我认为它在onCreate和onDestroy之间仍然存在......

答案 2 :(得分:0)

(静态)变量在构造函数运行之前已经初始化,因此它将保留在活动的所有生命周期中。 问题是如果活动被销毁并重新创建(对于实例,当您旋转屏幕时):在这种情况下,您将失去该类的所有状态。 一种解决方案是使用方法onSaveInstanceState()保存活动状态,并使用onCreate()方法检索它。