美文网首页
Android中Context

Android中Context

作者: 王然Gondole | 来源:发表于2017-05-15 14:03 被阅读0次

各个Context 区别

  • Activity和Service以及Application的Context是不一样的,Activity继承自ContextThemeWraper.其他的继承自ContextWrapper
  • 每一个Activity和Service以及Application的Context都是一个新的ContextImpl对象
  • getApplication()用来获取Application实例的,但是这个方法只有在Activity和Service中才能调用的到。那么也许在绝大多数情况下我们都是在Activity或者Service中使用Application的,但是如果在一些其它的场景,比如BroadcastReceiver中也想获得Application的实例,这时就可以借助getApplicationContext()方法,getApplicationContext()比getApplication()方法的作用域会更广一些,任何一个Context的实例,只要调用getApplicationContext()方法都可以拿到我们的Application对象。
  • Activity在创建的时候会new一个ContextImpl对象并在attach方法中关联它,Application和Service也差不多。ContextWrapper的方法内部都是转调ContextImpl的方法
  • 创建对话框传入Application的Context是不可以的
  • 尽管Application、Activity、Service都有自己的ContextImpl,并且每个ContextImpl都有自己的mResources成员,但是由于它们的mResources成员都来自于唯一的ResourcesManager实例,所以它们看似不同的mResources其实都指向的是同一块内存
  • Context的数量等于Activity的个数 + Service的个数 + 1,这个1为Application

相关文章

  • Android中的Context对象

    Android中的Context对象 相关的类 Context Interface to global infor...

  • Android Context浅析

    Android中Context表示上下文,Context及其常用子类的关系如下图所示 Context AOSP路径...

  • Android Context浅析

    Android中Context表示上下文,Context及其常用子类的关系如下图所示 Context AOSP路径...

  • Android中Context

    各个Context 区别 Activity和Service以及Application的Context是不一样的,A...

  • Android中的context对象

    今天来聊一聊Android中的context对象 1.Context是什么 我们知道,Android应用都是使用J...

  • 避免Android中Context引起的内存泄露

    避免Android中Context引起的内存泄露

  • Android开发学习

    本文持续更新在Android开发学习过程中的一些收获 1. Context context在Android中广泛使...

  • Android之Context的源码分析

    1.Context是什么 从Context的字面意思是环境,上下文,在Android开发中,Context就是An...

  • 001 Android-Context-2

    Android中的Context总结分析 Context类结构 先来看看这个Context类结构图 [图片上传中....

  • Context

    Context 表示上下文。Android中的 Context 使用了装饰模式。 image.png Androi...

网友评论

      本文标题:Android中Context

      本文链接:https://www.haomeiwen.com/subject/gjlhxxtx.html