2

我的应用程序中有许多全局最终常量。我在应用程序启动期间从 json 文件填充这些常量。正如许多人推荐的那样,我正在使用应用程序类将全局变量保存在内存中。但有时,在我关闭应用程序并使用其他应用程序然后回到我的应用程序后,它会崩溃。我理解这是因为系统终止了进程,所以这些静态变量从内存中丢失了。推荐的解决方案是使用 sharedpreferences 或其他持久存储方法来存储这些全局变量。但我需要一个快速简单的解决方案来“解决”这个问题。例如,如果系统终止进程(而应用程序在后台运行)并且用户稍后返回应用程序,那么强制重启应用程序的最简单方法是什么?我希望我的问题很清楚。

提前致谢

汤姆

4

2 回答 2

1
  1. 正如凯所建议的那样,即:

    public class MyApplication extends Application {
    
        @Override
        public void onCreate(){
            super.onCreate();
            initVariables();
        }   
    }
    
  2. 或使用访问器:

    public class MyApplication extends Application {
    
        MyVar var;
        public MyVar getVar(){
            if(var == null){
                initVariables();
            }
            return var;
        }
    

    }

于 2013-11-06T00:16:12.313 回答
0

一旦您的应用程序被暂停(用户不可见),按照规范, Android 系统可以简单地终止您的应用程序所在的进程,而无需任何额外的回调,因此您要做的就是对抗系统行为。

如果您将这些变量保留在 Application 类中,那么您可以在加载 Application 类时简单地重新加载这些变量。

于 2013-05-05T02:44:38.733 回答