= compatInfo; data.initProfileFile = profileFile; data.initProfileFd = profileFd;...data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo);//data.info对象为LoadApk,此时data.info为null...mBoundApplication.processName : null) + ")"); packageInfo = new LoadedApk(this, aInfo, compatInfo,...) { CreateServiceData s = new CreateServiceData(); s.token = token; s.info = info; s.compatInfo =...compatInfo; queueOrSendMessage(H.CREATE_SERVICE, s); } step 2、构建CreateServiceData对象,如上代码所示。
isRestrictedBackupMode, boolean persistent, Configuration config, CompatibilityInfo compatInfo...= compatInfo; data.initProfilerInfo = profilerInfo; data.buildSerial = buildSerial...; r.voiceInteractor = voiceInteractor; r.activityInfo = info; r.compatInfo...= compatInfo; r.state = state; r.persistentState = persistentState;...r.packageInfo = getPackageInfoNoCheck( r.activityInfo.applicationInfo, r.compatInfo
public final void scheduleCreateService(IBinder token, ServiceInfo info, CompatibilityInfo compatInfo...{ CreateServiceData s = new CreateServiceData(); s.token = token; s.info = info; s.compatInfo...= compatInfo; <!...LoadedApk packageInfo = getPackageInfoNoCheck( data.info.applicationInfo, data.compatInfo
isRestrictedBackupMode, boolean persistent, Configuration config, CompatibilityInfo compatInfo...isRestrictedBackupMode; data.persistent = persistent; data.config = config; data.compatInfo...= compatInfo; data.initProfilerInfo = profilerInfo; data.buildSerial = buildSerial...instrApp.initForUser(UserHandle.myUserId()); final LoadedApk pi = getPackageInfo(instrApp, data.compatInfo
display.getDisplayId() : Display.DEFAULT_DISPLAY; CompatibilityInfo compatInfo = null;...= null) { compatInfo = container.getDisplayAdjustments(displayId).getCompatibilityInfo();...} if (compatInfo == null) { compatInfo = (displayId == Display.DEFAULT_DISPLAY...= null || (compatInfo !...= null && compatInfo.applicationScale !
LoadedApk pi, String splitName, int displayId, Configuration overrideConfig, CompatibilityInfo compatInfo...pi.getApplicationInfo().sharedLibraryFiles, displayId, overrideConfig, compatInfo...int displayId, @Nullable Configuration overrideConfig, @NonNull CompatibilityInfo compatInfo...new Configuration(overrideConfig) : null, // Copy compatInfo); classLoader =
} if (compatInfo == null) { compatInfo = (displayId == Display.DEFAULT_DISPLAY...= null || (compatInfo !...= null && compatInfo.applicationScale !...= null || (compatInfo !...= null && compatInfo.applicationScale !
LoadedApk pi, String splitName, int displayId, Configuration overrideConfig, CompatibilityInfo compatInfo...pi.getApplicationInfo().sharedLibraryFiles, displayId, overrideConfig, compatInfo...int displayId, @Nullable Configuration overrideConfig, @NonNull CompatibilityInfo compatInfo...new Configuration(overrideConfig) : null, // Copy compatInfo); classLoader =...,这四个位置调用的是两个方法,这两个方法最终都会通过下面这句话创建 Resource // 创建一个新的资源引用并使用现有的ResourcesImpl对象 Resources resources = compatInfo.needsCompatResources
isRestrictedBackupMode, boolean persistent, Configuration config, CompatibilityInfo compatInfo...isRestrictedBackupMode; data.persistent = persistent; data.config = config; data.compatInfo...= compatInfo; data.initProfilerInfo = profilerInfo; data.buildSerial = buildSerial...data.processName); //创建LoadedApk实例 data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo
ActivityInfo info, Configuration curConfig, Configuration overrideConfig, CompatibilityInfo compatInfo...; r.voiceInteractor = voiceInteractor; r.activityInfo = info; r.compatInfo...= compatInfo; r.state = state; r.persistentState = persistentState;...r.packageInfo = getPackageInfoNoCheck( r.activityInfo.applicationInfo, r.compatInfo...if (r.packageInfo == null) { r.packageInfo = getPackageInfo(aInfo.applicationInfo, r.compatInfo
boolean autoStopProfiler; ActivityInfo activityInfo; CompatibilityInfo compatInfo...IBinder token, int ident, ActivityInfo info, Configuration curConfig, CompatibilityInfo compatInfo...r.ident = ident; r.intent = intent; r.activityInfo = info; r.compatInfo...= compatInfo; r.state = state; r.pendingResults = pendingResults;...r.packageInfo = getPackageInfoNoCheck( r.activityInfo.applicationInfo, r.compatInfo
final void scheduleCreateService(IBinder token, ServiceInfo info, CompatibilityInfo compatInfo...s = new CreateServiceData(); s.token = token; s.info = info; s.compatInfo...= compatInfo; sendMessage(H.CREATE_SERVICE, s); } 内部通过handler发送一个消息,进行创建服务。... LoadedApk packageInfo = getPackageInfoNoCheck( data.info.applicationInfo, data.compatInfo
Resources(AssetManager assets, DisplayMetrics metrics, Configuration config, CompatibilityInfo compatInfo..., IBinder token) { mAssets = assets; mMetrics.setToDefaults(); if (compatInfo...= null) { mCompatibilityInfo = compatInfo; } mToken = new WeakReference<IBinder...String[] libDirs, int displayId, Configuration overrideConfiguration, CompatibilityInfo compatInfo
ActivityInfo info, Configuration curConfig, Configuration overrideConfig, CompatibilityInfo compatInfo...; r.voiceInteractor = voiceInteractor; r.activityInfo = info; r.compatInfo...= compatInfo; r.state = state; r.persistentState = persistentState; ...r.packageInfo = getPackageInfoNoCheck( r.activityInfo.applicationInfo, r.compatInfo... if (r.packageInfo == null) { r.packageInfo = getPackageInfo(aInfo.applicationInfo, r.compatInfo
r.packageInfo = getPackageInfoNoCheck( r.activityInfo.applicationInfo, r.compatInfo...LoadedApk packageInfo = getPackageInfoNoCheck( data.info.applicationInfo, data.compatInfo...r.packageInfo = getPackageInfoNoCheck( r.activityInfo.applicationInfo, r.compatInfo...if (r.packageInfo == null) { r.packageInfo = getPackageInfo(aInfo.applicationInfo, r.compatInfo...LoadedApk packageInfo = getPackageInfoNoCheck( data.info.applicationInfo, data.compatInfo
final void scheduleCreateService(IBinder token, ServiceInfo info, CompatibilityInfo compatInfo...s = new CreateServiceData(); s.token = token; s.info = info; s.compatInfo...= compatInfo; // 使用 handler 发送消息 sendMessage(H.CREATE_SERVICE, s); }...LoadedApk packageInfo = getPackageInfoNoCheck( data.info.applicationInfo, data.compatInfo
intent, IBinder token, int ident, ActivityInfo info, Configuration curConfig, CompatibilityInfo compatInfo...ActivityClientRecord(); r.token = token; r.ident = ident; r.intent = intent; r.activityInfo = info; r.compatInfo...= compatInfo; r.state = state; r.pendingResults = pendingResults; r.pendingIntents = pendingNewIntents...ActivityClientRecord)msg.obj; r.packageInfo = getPackageInfoNoCheck( r.activityInfo.applicationInfo, r.compatInfo...r.activityInfo; if (r.packageInfo == null) { r.packageInfo = getPackageInfo(aInfo.applicationInfo, r.compatInfo
类型 , data.info 是调用 getPackageInfoNoCheck 获取的 , data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo...isRestrictedBackupMode, boolean persistent, Configuration config, CompatibilityInfo compatInfo
领取专属 10元无门槛券
手把手带您无忧上云