Android Context

     一个Activity是一个Context,一个Service是一个Context.应用程序中有多少个Activity和Service,就会有多少个Context对象。

Context的实现类是ContextImpl.创建Context对象是在ActivityThread类完成的。具体创建ContextIml对象的地方在如下方法中:

  • PackageInfo.makeApplication()
  • performLaunchActivity()
  • handleCreateBackupAgent()
  • handleCreateService()
  • handleBindApplication()
  • attach()


Context子类对比
类名 远程数据类 本地数据类 赋值方式
Application ApplicationInfo AppBindData getPackageInfoNoCheck()
Activity ActivityInfo ActivityRecord getPackageInfo()
Service ServiceInfo CreateServiceData getPackageInfoNoCheck()

一个应用程序包含的Context个数=Service个数+Activity个数+1(Application)

你可能感兴趣的:(Android Context)