Android中静态变量的生命周期

3

什么是Android中静态变量的生命周期?

我发现有时候一些绑定在Activity上的静态变量会因为未初始化而出现问题,尽管它们之前已经被初始化过了!我以为静态变量一旦初始化就会在整个应用程序的生命周期内保持不变,但事实似乎并非如此。


你如何定义“应用程序的生命周期”? - Henry
你如何定义“应用程序”? - Ken
我发现有时候一些绑定到活动的静态变量会出现未初始化的情况,尽管它们之前已经被初始化了!实际情况恰恰相反。 - user1135300
2个回答

3
如果Android的内存不足并且所有活动都在后台(不可见),它可能会终止您的应用程序。但是,如果您的活动仍然在历史记录中,用户可能会再次激活它。在这种情况下,系统将重新创建您的应用程序并恢复其状态。 为了处理这种情况,您应该将您的应用程序和活动状态存储在持久性存储器(文件、数据库等)中。 有关更多信息,请访问此页面:http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState

1
这取决于你的定义,例如:
如果进程被终止,则所有静态变量将重新初始化为它们的默认值。
因此,在Activity A中设置的任何值都不会持久保存。当Activity被销毁时也是如此。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接