diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 404c513..f2b573c 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -259,6 +259,8 @@ public class ZygoteInit { } else { Log.i(TAG, "Preloading classes..."); long startTime = SystemClock.uptimeMillis(); + long lastTime = SystemClock.uptimeMillis(); + long nextTime = SystemClock.uptimeMillis(); // Drop root perms while running static initializers. setEffectiveGroup(UNPRIVILEGED_GID); @@ -292,12 +294,24 @@ public class ZygoteInit { if (Config.LOGV) { Log.v(TAG, "Preloading " + line + "..."); } + //if (count%5==0) { + // Log.v(TAG, "Preloading " + line + "..."); + //} + Log.v(TAG, "Preloading " + line + "..."); Class.forName(line); + nextTime = SystemClock.uptimeMillis(); + if (nextTime-lastTime >50) { + Log.i(TAG, "Preloading " + line + "... took " + (nextTime-lastTime) + "ms."); + } + lastTime = nextTime; + if (Debug.getGlobalAllocSize() > PRELOAD_GC_THRESHOLD) { if (Config.LOGV) { Log.v(TAG, " GC at " + Debug.getGlobalAllocSize()); } + Log.i(TAG, + " GC at " + Debug.getGlobalAllocSize()); runtime.gcSoftReferences(); runtime.runFinalizationSync(); Debug.resetGlobalAllocSize(); diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index 6df9f2b..4274ba4 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -565,7 +565,8 @@ class PackageManagerService extends IPackageManager.Stub { mSystemInstallObserver = new AppDirObserver( mSystemAppDir.getPath(), OBSERVER_EVENTS, true); mSystemInstallObserver.startWatching(); - scanDirLI(mSystemAppDir, PackageParser.PARSE_IS_SYSTEM, scanMode); + Log.i(TAG, "Package parse should be CHATTY"); + scanDirLI(mSystemAppDir, PackageParser.PARSE_IS_SYSTEM | PackageParser.PARSE_CHATTY, scanMode); mAppInstallDir = new File(dataDir, "app"); if (mInstaller == null) { // Make sure these dirs exist, when we are running in @@ -2030,6 +2031,7 @@ class PackageManagerService extends IPackageManager.Stub { parseFlags |= mDefParseFlags; PackageParser pp = new PackageParser(scanFile.getPath()); pp.setSeparateProcesses(mSeparateProcesses); + Log.i(TAG, "Parsing package in file: " + scanFile); final PackageParser.Package pkg = pp.parsePackage(scanFile, destCodeFile.getAbsolutePath(), mMetrics, parseFlags); if (pkg == null) {