在android中使用此模式是否可以,然后在需要应用程序上下文时使用App.context? 我想在枚举类中访问getString(id),所以想一想这个解决方案。
public class App extends Application
public static Context context;
public App() {
this.context = this;
}
}
答案 0 :(得分:1)
规则永远不会超出正常生命周期Context
。 Android会在您的应用正在使用时管理Application
实例 - 只要Android保持您的应用运行,就会始终只有一个实例。简而言之,Application
上下文是唯一可以引用的上下文而不用担心它会泄漏。
但是,我认为最好在onCreate()
中而不是在公共构造函数中进行分配。除了少数例外,对于Android管理的组件,onCreate()
应该是您开始运行自己的代码的地方。
@Override
public void onCreate() {
super.onCreate();
appContext = this;
}