OSDN Git Service

am 5406f59a: am 6a6411e3: am 076dc013: Merge "Move dex file pruning to installd."
authorNarayan Kamath <narayan@google.com>
Mon, 16 Jun 2014 13:58:39 +0000 (13:58 +0000)
committerAndroid Git Automerger <android-git-automerger@android.com>
Mon, 16 Jun 2014 13:58:39 +0000 (13:58 +0000)
* commit '5406f59abd0cde826e8254fe628bea6d80769c8c':
  Move dex file pruning to installd.

1  2 
services/core/java/com/android/server/pm/PackageManagerService.java

@@@ -1718,54 -1679,8 +1732,15 @@@ public class PackageManagerService exte
              mRequiredVerifierPackage = getRequiredVerifierLPr();
          } // synchronized (mPackages)
          } // synchronized (mInstallLock)
 +
 +        mInstallerService = new PackageInstallerService(context, this, mAppStagingDir);
 +
 +        // Now after opening every single application zip, make sure they
 +        // are all flushed.  Not really needed, but keeps things nice and
 +        // tidy.
 +        Runtime.getRuntime().gc();
      }
  
-     private static void pruneDexFiles(File cacheDir) {
-         // If we had to do a dexopt of one of the previous
-         // things, then something on the system has changed.
-         // Consider this significant, and wipe away all other
-         // existing dexopt files to ensure we don't leave any
-         // dangling around.
-         //
-         // Additionally, delete all dex files from the root directory
-         // since there shouldn't be any there anyway.
-         //
-         // Note: This isn't as good an indicator as it used to be. It
-         // used to include the boot classpath but at some point
-         // DexFile.isDexOptNeeded started returning false for the boot
-         // class path files in all cases. It is very possible in a
-         // small maintenance release update that the library and tool
-         // jars may be unchanged but APK could be removed resulting in
-         // unused dalvik-cache files.
-         File[] files = cacheDir.listFiles();
-         if (files != null) {
-             for (File file : files) {
-                 if (!file.isDirectory()) {
-                     Slog.i(TAG, "Pruning dalvik file: " + file.getAbsolutePath());
-                     file.delete();
-                 } else {
-                     File[] subDirList = file.listFiles();
-                     if (subDirList != null) {
-                         for (File subDirFile : subDirList) {
-                             final String fn = subDirFile.getName();
-                             if (fn.startsWith("data@app@") || fn.startsWith("data@app-private@")) {
-                                 Slog.i(TAG, "Pruning dalvik file: " + fn);
-                                 subDirFile.delete();
-                             }
-                         }
-                     }
-                 }
-             }
-         }
-     }
      @Override
      public boolean isFirstBoot() {
          return !mRestoredSettings || mPackageUsage.isFirstBoot();