gpt4 book ai didi

java - 在应用程序的 onCreate() 中创建 Context 类型的静态成员变量可以吗?

转载 作者:行者123 更新时间:2023-12-01 11:16:54 24 4
gpt4 key购买 nike

可以在 android 中使用此模式,然后在需要应用程序上下文时使用 App.context 吗?
我想在枚举类中访问 getString(id) ,所以考虑这个解决方案。

public class App extends Application 
public static Context context;

public App() {
this.context = this;
}
}

最佳答案

规则是永远不要在正常生命周期之外保留对 Context 的强引用。当您的应用程序在使用时,Android 会管理 Application 实例 - 只要 Android 保持您的应用程序运行,就永远只有一个实例。简而言之,Application 上下文是您唯一可以保存引用的上下文,而不必担心它会泄漏。

但是,我认为最好在 onCreate() 中进行赋值,而不是在公共(public)构造函数中。除了少数异常(exception),对于 Android 管理的组件,onCreate() 应该是您开始运行自己的代码的地方。

@Override
public void onCreate() {
super.onCreate();
appContext = this;
}

关于java - 在应用程序的 onCreate() 中创建 Context 类型的静态成员变量可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31714209/

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