搜尋

首頁  >  問答  >  主體

android - 通过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()
会有什么不良影响么

伊谢尔伦伊谢尔伦2772 天前459

全部回覆(2)我來回復

  • PHP中文网

    PHP中文网2017-04-17 18:02:50

    樓上那個連結說的已經很全了,很多時候application context比activity context更好用,比如在toast的使用上,同一個context產生的toast後者會替代前者,而不同context就會不斷產生toast ,寫一個用application context展示toast的靜態方法就是一個很好的做法。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:02:50

    並不會有什麼不良影響,反而是在Activity中避免生命週期長的物件引用activity context,防止記憶體洩漏。
    Android Context完全解析

    回覆
    0
  • 取消回覆