Merge "Explicitly list out the list of cache subdirs to prune."

This commit is contained in:
Narayan Kamath
2014-06-24 12:07:45 +00:00
committed by Gerrit Code Review
2 changed files with 12 additions and 6 deletions

View File

@@ -24,6 +24,7 @@ import android.util.Slog;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.List;
public final class Installer { public final class Installer {
private static final String TAG = "Installer"; private static final String TAG = "Installer";
@@ -335,8 +336,8 @@ public final class Installer {
} }
} }
public int pruneDexCache() { public int pruneDexCache(String cacheSubDir) {
return execute("prunedexcache"); return execute("prunedexcache " + cacheSubDir);
} }
public int freeCache(long freeStorageSize) { public int freeCache(long freeStorageSize) {

View File

@@ -1437,9 +1437,6 @@ public class PackageManagerService extends IPackageManager.Stub {
// changed. Consider this significant, and wipe away all other // changed. Consider this significant, and wipe away all other
// existing dexopt files to ensure we don't leave any dangling around. // 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.
//
// TODO: This should be revisited because it isn't as good an indicator // TODO: This should be revisited because it isn't as good an indicator
// as it used to be. It used to include the boot classpath but at some point // as it used to be. It used to include the boot classpath but at some point
// DexFile.isDexOptNeeded started returning false for the boot // DexFile.isDexOptNeeded started returning false for the boot
@@ -1447,7 +1444,15 @@ public class PackageManagerService extends IPackageManager.Stub {
// small maintenance release update that the library and tool // small maintenance release update that the library and tool
// jars may be unchanged but APK could be removed resulting in // jars may be unchanged but APK could be removed resulting in
// unused dalvik-cache files. // unused dalvik-cache files.
mInstaller.pruneDexCache(); for (String instructionSet : instructionSets) {
mInstaller.pruneDexCache(instructionSet);
}
// Additionally, delete all dex files from the root directory
// since there shouldn't be any there anyway, unless we're upgrading
// from an older OS version or a build that contained the "old" style
// flat scheme.
mInstaller.pruneDexCache(".");
} }
// Collect vendor overlay packages. // Collect vendor overlay packages.