获得Application Context
在应用程度中,可以直接通过getApplicationContext()方法来获得Application Context,下面从getApplicationContext这个方法开始分析:
首先看一下getApplicationContext实现:
@Override
public Context getApplicationContext() {
return mBase.getApplicationContext();
}
mBase是ContextImpl类型的对象,所以进入ContextImpl里面调用getApplicationContext()
@Override
public Context getApplicationContext() {
return (mPackageInfo != null) ?
mPackageInfo.getApplication() : mMainThread.getApplication();
}
mPackageInfo是LoadedApk类型的对象,由于应用程序已经启动,就进入到LoadedApk类中继续处理
Application getApplication() {
return mApplication;
}
mApplication是一个Context对象,在LoadedApk类的makeApplication方法中创建的
Application Context 的介绍到此结束