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
多くの場合、アプリケーション コンテキストはアクティビティ コンテキストよりも便利です。たとえば、トーストが同じコンテキストによって生成されると、後者が前者を置き換えます。トーストを生成するには、アプリケーション コンテキストを使用してトーストを表示する静的メソッドを作成することをお勧めします。
天蓬老师2017-04-17 18:02:50
悪影響はありません。代わりに、ライフサイクルの長いオブジェクトがアクティビティ内のアクティビティ コンテキストを参照するのを防ぎ、メモリ リークを防ぎます。
Android コンテキストの完全な分析