为了账号安全,请及时绑定邮箱和手机立即绑定

在任何地方使用应用程序上下文?

在任何地方使用应用程序上下文?

繁花如伊 2019-06-17 15:07:33
在任何地方使用应用程序上下文?在Android应用程序中,下面的方法有什么问题吗?public class MyApp extends android.app.Application {     private static MyApp instance;     public MyApp() {         instance = this;     }     public static Context getContext() {         return instance;     }}并将它传递到任何需要上下文的地方(例如SQLiteOpenHelper)(当然不是泄漏)?
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

这种方法存在一些潜在的问题,尽管在很多情况下(比如您的例子),它会很好地工作。

尤其是,在处理任何处理GUI这需要一个Context..例如,如果将应用程序上下文传递给LayoutInflater你会得到一个例外。一般来说,您的方法很好:使用Activity's Context在这个范围内Activity,以及Application Context当将上下文传递到Activity避免内存泄漏.

同时,作为一个替代对于您的模式,可以使用调用的快捷方式。getApplicationContext()在.上Context对象(例如活动)获取应用程序上下文。


查看完整回答
反对 回复 2019-06-17
  • 3 回答
  • 0 关注
  • 309 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信