假设我有一个变量boolean的标准活动,例如:
public class My Activity extends Activity {
public static boolean A = true;
}
我将其初始化为immidietly,其值将在运行时更改。这种变量初始化和Activity生命周期是否存在一些问题。这个布尔值A能否在onPause,onStop或其他生命周期方法中返回其初始值?它与onCreate()的对应关系?
答案 0 :(得分:0)
是。您可以使用yield
关键字返回。例如,
yield return A;
详细了解网络上的关键字yield
。
答案 1 :(得分:0)
我认为变量A和你的类生命周期一样,但不是活动生命周期。 onPause()意味着活动正在暂停,但你的班级仍然活着,所以也是。我认为它在onCreate和onDestroy之间仍然存在......
答案 2 :(得分:0)
(静态)变量在构造函数运行之前已经初始化,因此它将保留在活动的所有生命周期中。
问题是如果活动被销毁并重新创建(对于实例,当您旋转屏幕时):在这种情况下,您将失去该类的所有状态。
一种解决方案是使用方法onSaveInstanceState()
保存活动状态,并使用onCreate()
方法检索它。