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

时间:2015-07-30 02:23:59

标签: java android

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

public class App extends Application 
    public static  Context context;

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

1 个答案:

答案 0 :(得分:1)

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

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

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