我的应用程序中有许多全局最终常量。我在应用程序启动期间从json文件填充这些常量。正如许多人所推荐的,我使用应用程序类将全局变量保存在内存中。但有时候,在关闭应用程序并使用其他应用程序然后回到我的应用程序后,它会崩溃。我理解这是因为系统杀死了进程,因此这些静态变量会从内存中丢失。建议的解决方案是使用sharedpreferences或其他持久存储方法来存储这些全局变量。但我需要一个快速简便的解决方案来“修复”这个问题。例如,如果系统终止进程(当应用程序在后台运行时)并且用户稍后返回应用程序,那么强制重新启动应用程序的最简单方法是什么?我希望我的问题很明确。
提前致谢
汤姆
答案 0 :(得分:1)
正如Kai所说,即:
public class MyApplication extends Application {
@Override
public void onCreate(){
super.onCreate();
initVariables();
}
}
或使用访问者:
public class MyApplication extends Application {
MyVar var;
public MyVar getVar(){
if(var == null){
initVariables();
}
return var;
}
}
答案 1 :(得分:0)
一旦您的应用暂停(用户不可见),规范 Android系统可以简单地杀死您的应用所处的进程,而无需任何其他回调,因此您要做的就是播放反对系统行为。
如果将这些变量保存在Application类中,那么只需在加载Application类时重新加载这些变量即可。