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 Context에 대한 완벽한 분석