例如,我正在执行以下操作,然后从所有内部类中引用 applicationContext。
public class MobileApplication extends Application {
public static Context appContext;
@Override
public void onCreate() {
super.onCreate();
appContext = getApplicationContext();
}
}
future 类(class),
public class RandomClass {
public void doSomething() {
MobileApplication.appContext.toString();
}
}
我不确定做这样的事情与每次需要时在我的上下文中传递的缺点。
最佳答案
这就是我的想法
- 这使得单元测试变得困难。客户端和该应用程序类之间存在紧密耦合。我有时需要使用自定义应用程序类或自定义上下文进行测试。
- (请检查我),但上下文不会在轮换时重新创建。无论何时创建该上下文,您都会被困在该上下文中。我认为如果您支持不同的维度或区域设置,它不会发挥很好的作用。
- 有可能为空。
- 某些新的 UI 小部件需要 getSupportActionBar().getThemedContext() 上下文。这种方法不鼓励这种使用。
- The link Naveed 给你的也很好。
总的来说,我发现在需要的地方传递或获取上下文非常容易。
关于java - 在 Android 应用程序中设置单个静态 applicationContext 有哪些缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35784057/