LoadedApk: Avoid unnecessary work when mIncludeCode == false. am: 8995b00ce8

am: 150664c275

* commit '150664c27553ba06667d4ee7eafef16940a87788':
  LoadedApk: Avoid unnecessary work when mIncludeCode == false.

Change-Id: Ie5b0fd3d47aa4121f4a5a054510c828a5f4e6454
This commit is contained in:
Narayan Kamath
2016-05-16 10:48:17 +00:00
committed by android-build-merger

View File

@@ -450,9 +450,6 @@ public final class LoadedApk {
}
}
final List<String> zipPaths = new ArrayList<>();
final List<String> libPaths = new ArrayList<>();
if (mRegisterPackage) {
try {
ActivityManagerNative.getDefault().addPackageDependency(mPackageName);
@@ -461,8 +458,10 @@ public final class LoadedApk {
}
}
final List<String> zipPaths = new ArrayList<>();
final List<String> libPaths = new ArrayList<>();
makePaths(mActivityThread, mApplicationInfo, zipPaths, libPaths);
final String zip = mIncludeCode ? TextUtils.join(File.pathSeparator, zipPaths) : "";
final boolean isBundledApp = mApplicationInfo.isSystemApp()
&& !mApplicationInfo.isUpdatedSystemApp();
@@ -476,10 +475,28 @@ public final class LoadedApk {
final String librarySearchPath = TextUtils.join(File.pathSeparator, libPaths);
// If we're not asked to include code, we construct a classloader that has
// no code path included. We still need to set up the library search paths
// and permitted path because NativeActivity relies on it (it attempts to
// call System.loadLibrary() on a classloader from a LoadedApk with
// mIncludeCode == false).
if (!mIncludeCode) {
if (mClassLoader == null) {
StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
mClassLoader = ApplicationLoaders.getDefault().getClassLoader(
"" /* codePath */, mApplicationInfo.targetSdkVersion, isBundledApp,
librarySearchPath, libraryPermittedPath, mBaseClassLoader);
StrictMode.setThreadPolicy(oldPolicy);
}
return;
}
/*
* With all the combination done (if necessary, actually
* create the class loader.
* With all the combination done (if necessary, actually create the java class
* loader and set up JIT profiling support if necessary.
*/
final String zip = TextUtils.join(File.pathSeparator, zipPaths);
if (ActivityThread.localLOGV)
Slog.v(ActivityThread.TAG, "Class path: " + zip +