如果在Android中销毁活动/应用程序,静态变量是否会保留

时间:2016-04-25 00:29:23

标签: android

我有一个单例,其中包含我想要为应用程序全局保存的一些数据。

我知道如果用户离开我的应用程序,并且系统需要资源,它将会终止我的应用程序(或只是活动,不确定)。然后,如果用户再次打开我的应用程序,它将恢复活动,并将自动保存本地活动变量。

此过程是否还会恢复在活动的全局单例类外部设置的静态变量?

2 个答案:

答案 0 :(得分:1)

没有。只有当Android终止您的流程时,才会恢复已保存的实例状态Bundle中的内容,并且仅当用户相对较快地返回您的应用时(例如,在30分钟内)。

保存的实例状态Bundle主要用于"在飞行中"数据(例如,部分填写的表单),如果用户暂时没有返回给您,您不会介意丢失。对于其他任何事情,请自行保存数据,无论是本地存储还是"云"。

答案 1 :(得分:0)

如果要保存该变量的状态,可以将其保存在活动的onPause方法的sharedpreference中,然后在onResume方法中再次检索该变量