android静态类保存context,Android:静态获取Context是一个好习惯吗?

public class MyApp extends Application {

private static Context context;

public void onCreate(){

super.onCreate();

MyApp.context = getApplicationContext();

}

public static Context getContext() {

return MyApp.context;

}

}

我使用它来在既不是活动也不是片段的类中使用Context.使用存储在此类上的上下文与使用和活动作为上下文之间有什么区别?有这个课程是一个好习惯,还是应该为任何需要它的班级提供一个活动作为背景?

谢谢.

解决方法:

It’s there any difference between use the context stored on this class and use and activity as context?

是.请阅读有关该主题的Dave Smith’s epic blog post.总结:当你知道为什么Application是正确的答案时,只使用一个应用程序……而且它很少.

It is a good practice to have this class

恕我直言,通常不是.有时您可能需要一个Application对象,但是您不需要自己的自定义子类,也不需要将它设为单例.

should I provide an activity as context to any class who needs it?

您可以为需要它的任何方法提供正确的Context实例.正如Dave Smith在该博客文章中描述的那样,并非所有Context实例都是平等的.仅当Application是正确的Context时才使用Application.

标签:android

来源: https://codeday.me/bug/20191007/1867530.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值