我对Context的理解

来源:互联网 发布:淘宝聚划算开团抢技巧 编辑:程序博客网 时间:2024/05/22 05:00

context类型

  • application
  • service
  • activity

getApplication()和getApplicationContext()的区别

  • 两个方法获取到的是同一个对象
  • 但是getApplication()的作用域比较小,只能在Activity和Service中使用
  • 在其他地方就要使用getApplicationContext(),比如在BroadCastreceiver中。

getBaseContext()

  • 这个方法返回一个ContextImpl对象,这个对象才是Context的实现类,Activity,Application只是做了一些接口封装。
  • 在ContextWarpper中通过attachBaseContext()传入ContextImpl对象,继而在Application,Activity,Service中调用其方法。
  • 在Application中,要在attachBaseContext()执行后,才能去调用Context的方法。
0 0
原创粉丝点击