目前,在我的应用程序中,我有以下课程:
public class MyApp extends Application {
private static Context context;
public void onCreate(){
super.onCreate();
MyApp.context = getApplicationContext();
}
public static Context getContext() {
return MyApp.context;
}
}
Run Code Online (Sandbox Code Playgroud)
我使用它来在既不是活动也不是片段的类中使用Context.使用存储在此类上的上下文与使用和活动作为上下文之间有什么区别?有这个课程是一个好习惯,还是应该为任何需要它的班级提供一个活动作为背景?
谢谢.
Com*_*are 16
使用存储在此类上的上下文与使用和活动作为上下文之间有什么区别?
是.请阅读戴夫史密斯关于这个主题的史诗博客文章.总结:只有Application当你知道为什么 Application是正确的答案时才使用...而且它很少.
拥有这门课程是一种很好的做法
恕我直言,通常不是.您有时可能需要一个Application对象,但您不需要自己的自定义子类,也不需要将其设为单例.
我应该为任何需要它的班级提供活动作为背景吗?
您可以为需要它的任何方法提供正确的 Context实例.正如Dave Smith在博客文章中描述的那样,并非所有Context实例都是平等的.只有在正确的Application时候才使用.ApplicationContext
| 归档时间: |
|
| 查看次数: |
1868 次 |
| 最近记录: |