这篇博客我们来分析下mSettings核mPackages变量。
一、mSettings
mSettings在PKMS的构造函数中创建,这里mPackages变量传进去,仅仅是作为lock使用
public PackageManagerService(Context context, Installer installer,
boolean factoryTest, boolean onlyCore) {
EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_START,
SystemClock.uptimeMillis());
if (mSdkVersion <= 0) {
Slog.w(TAG, "**** ro.build.version.sdk not set!");
}
mContext = context;
mFactoryTest = factoryTest;
mOnlyCore = onlyCore;
mLazyDexOpt = "eng".equals(SystemProperties.get("ro.build.type"));
mMetrics = new DisplayMetrics();
mSettings = new Settings(mPackages);
1.1 读取packages.xml
在PKMS的构造函数中还会调用mSettings的readLPw函数,来读取data/system/packages.xml文件。