通过Application里获得的Context来获取资源会有什么问题吗

public class App extends Application {
    private static Context sContext;

    @Override
    public void onCreate() {
        super.onCreate();
        Stetho.initializeWithDefaults(this);
        sContext = getApplicationContext(); 
    }


    public static Context getContext(){
        return sContext;
    }

}

这样保存了一个全局的Context,我在任意Activity、Fragment每次获取资源文件的时候都使用这个context来getResouces()
会有什么不良影响么

阅读 5.7k
3 个回答

楼上那个链接说的已经很全了,很多时候application context比 activity context更好用,比如在toast的使用上,同一个context产生的toast后者会替代前者,而不同context就会不断产生toast,写一个用application context展示toast的静态方法就是一个很好的做法。

并不会有什么不良影响,反而是在Activity中避免生命周期长的对象引用activity context,防止内存泄漏。
Android Context完全解析

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题