ActivityContext &ApplicationContext

Context的应用场景

大家注意看到有一些NO上添加了一些数字,其实这些从能力上来说是YES,但是为什么说是NO呢?下面一个一个解释:

数字1:启动Activity在这些类中是可以的,但是需要创建一个新的task。一般情况不推荐。

数字2:在这些类中去layout inflate是合法的,但是会使用系统默认的主题样式,如果你自定义了某些样式可能不会被使用。

数字3:在receiver为null时允许,在4.2或以上的版本中,用于获取黏性广播的当前值。(可以无视)

注:ContentProvider、BroadcastReceiver之所以在上述表格中,是因为在其内部方法中都有一个context用于使用。

好了,这里我们看下表格,重点看Activity和Application,可以看到,和UI相关的方法基本都不建议或者不可使用Application,并且,前三个操作基本不可能在Application中出现。实际上,只要把握住一点,凡是跟UI相关的,都应该使用Activity做为Context来处理;其他的一些操作,Service,Activity,Application等实例都可以,当然了,注意Context引用的持有,防止内存泄漏。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,930评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,853评论 18 139
  • 昨晚九点多,刚哄了两个女儿睡觉,无意间看着微信里的消息,大多都一样,无关痛痒。 忽然,看到弟弟发的一条消息,平常他...
    昕若初阅读 819评论 2 0
  • 1、 前几天,朋友圈最火的就是那个月入3万的煎饼摊大妈。 大妈和顾客发生争执。 于是大妈说:我月入3万,怎么会少你...
    原来是二姐阅读 383评论 2 2
  • 珍妮是一个缺乏关爱的姑娘,27岁,落落大方但独身一人。她曾吸过毒,父亲带她一起戒了18个月,很成功。她闲时会画一些...
    陆水手阅读 34,560评论 0 2