我有一个单例,其中包含我想要为应用程序全局保存的一些数据。
我知道如果用户离开我的应用程序,并且系统需要资源,它将会终止我的应用程序(或只是活动,不确定)。然后,如果用户再次打开我的应用程序,它将恢复活动,并将自动保存本地活动变量。
此过程是否还会恢复在活动的全局单例类外部设置的静态变量?
答案 0 :(得分:1)
没有。只有当Android终止您的流程时,才会恢复已保存的实例状态Bundle
中的内容,并且仅当用户相对较快地返回您的应用时(例如,在30分钟内)。
保存的实例状态Bundle
主要用于"在飞行中"数据(例如,部分填写的表单),如果用户暂时没有返回给您,您不会介意丢失。对于其他任何事情,请自行保存数据,无论是本地存储还是"云"。
答案 1 :(得分:0)
如果要保存该变量的状态,可以将其保存在活动的onPause方法的sharedpreference中,然后在onResume方法中再次检索该变量