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()
会有什么不良影响么
PHP中文网2017-04-17 18:02:50
樓上那個連結說的已經很全了,很多時候application context比activity context更好用,比如在toast的使用上,同一個context產生的toast後者會替代前者,而不同context就會不斷產生toast ,寫一個用application context展示toast的靜態方法就是一個很好的做法。
天蓬老师2017-04-17 18:02:50
並不會有什麼不良影響,反而是在Activity中避免生命週期長的物件引用activity context,防止記憶體洩漏。
Android Context完全解析