安卓区分几种不同的Context的区别

可以参考这篇文章

https://medium.com/@ali.muzaffar/which-context-should-i-use-in-android-e3133d00772c

Context
|— ContextWrapper
|— —Application
|— —ContextThemeWrapper
|— — — —Activity
|— —Service
|— — — IntentService

Application的Context对于Activity而言没有返回栈

Context一般用来access system level resources (getSystemService) and global app level resources(theme, assets).

考虑什么时候用ApplicationContext,什么时候用Activity的Context,ThemedContext

如果没有主题的需求,需要持有Context的对象是在程序全生命周期都存在的,那么可以给ApplicationContext。这个时候不要给短命的ActivityContext,这些Context如果你用强引用去连接它,会容易导致Activity对象不能被回收,如果你用WeakReference又会导致每次用的时候要判一下null,很是Relax。
否则,如果有主题的需求,或者是Inflate layout的需求,或者是把Context给一些短命对象,使用Activity Context是没有关系的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值