Java 应用程序长时间最小化后调用时nullPointerException崩溃

Java 应用程序长时间最小化后调用时nullPointerException崩溃,java,android,nullpointerexception,minimize,Java,Android,Nullpointerexception,Minimize,有一个名为“Configs.java”的类包含: public Contect context; public Activity currentActivity; 在名为“App.java”的全局类上: 在主活动Java类Oncreate上: App.configs.context = getApplicationContext(); App.configs.currentActivity = this; 关于产品活动Java类Oncreate(主活动未完成,

有一个名为“Configs.java”的类包含:

    public Contect context;
    public Activity currentActivity;
在名为“App.java”的全局类上:

在主活动Java类Oncreate上:

    App.configs.context = getApplicationContext();
    App.configs.currentActivity = this;
关于产品活动Java类Oncreate(主活动未完成,必须在后台工作):

经过长时间最小化后,Products Activity Java类在下面的行中显示一个错误:

    App.configs.currentActivity = this;
NullPointerException


无法使用“Bundle savedInstanceState”,因为它的活动是有效的

请尝试将此代码移动到onResume()而不是onCreate(),然后查看错误是否仍然存在。

在Android上使用静态变量是不好的。解释Android很可能会杀死你的应用程序(杀死你的应用程序实例,因此当你的应用程序被重新创建并且类加载器重新实例化你的变量时,静态变量变为null)以节省内存。这篇文章还提到了它提供了一个用捆绑包保存东西的替代方案


无论如何,如果您需要一个快速的解决方案,请将您的配置类设置为单例,并使用getter和setter,而不是将其公开。让getter检查您的singleton是否为null,在本例中,实例化一个new并返回它。您不会获得NPE,但这是非常危险的,因为它不会恢复以前的状态。

请共享完整的logcat日志。。
    App.configs.currentActivity = this;
    App.configs.currentActivity = this;