gpt4 book ai didi

java - 扩展应用程序类中对象变为 null 的原因

转载 作者:行者123 更新时间:2023-12-01 20:55:40 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我扩展了 Application 类。我有一些元数据,我不想一次又一次地重新初始化。我在 Application 类中初始化它们,然后使用它们。

private SampleSettings getSettings(){
return sampleSettings;
}


public class SampleApplication extends Application {

public void onCreate(){
super.onCreate();
sampleSettings = getSettingsFromDB();
}

}

当使用 applicationContext 在应用程序中访问时,getSettings 在某些情况下会返回 null。

有时我会遇到此类属性的空指针异常。我见过当应用程序进入后台时它会发生,但并不频繁。

我的理解是,只要应用程序启动,这些值就不应该变长。

我错过了什么导致它们变成空?谢谢

最佳答案

您的进程不会永远存在。当您不在前台时,your process may be terminated at any time by Android, to free up system RAM for other apps .

自定义Application对象或任何静态字段仅用于缓存和其他动态数据。您的应用程序需要能够从任何 Activity 启动,并根据需要延迟初始化所有这些 Activity 。

关于java - 扩展应用程序类中对象变为 null 的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42399590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com