diff options
author | Bob Lee <crazybob@google.com> | 2009-08-13 14:41:54 -0700 |
---|---|---|
committer | Bob Lee <crazybob@google.com> | 2009-08-17 15:36:15 -0700 |
commit | 9d2d6e14b0932b6a74e01f393d5efed61458941b (patch) | |
tree | 833ec805d5f8eded7819bd98fea6587ed2098501 /tools/preload/LoadedClass.java | |
parent | 802527c6a8a91f7da72f2ce9f6cb3cc342582127 (diff) | |
download | frameworks_base-9d2d6e14b0932b6a74e01f393d5efed61458941b.zip frameworks_base-9d2d6e14b0932b6a74e01f393d5efed61458941b.tar.gz frameworks_base-9d2d6e14b0932b6a74e01f393d5efed61458941b.tar.bz2 |
Simplified algorithm used to generate the preloaded-classes list. Generated a new preloaded-classes file.
Diffstat (limited to 'tools/preload/LoadedClass.java')
-rw-r--r-- | tools/preload/LoadedClass.java | 51 |
1 files changed, 14 insertions, 37 deletions
diff --git a/tools/preload/LoadedClass.java b/tools/preload/LoadedClass.java index 9ef17f5..86e5dfc 100644 --- a/tools/preload/LoadedClass.java +++ b/tools/preload/LoadedClass.java @@ -51,7 +51,7 @@ class LoadedClass implements Serializable, Comparable<LoadedClass> { } void measureMemoryUsage() { -// this.memoryUsage = MemoryUsage.forClass(name); + this.memoryUsage = MemoryUsage.forClass(name); } int mlt = -1; @@ -76,6 +76,10 @@ class LoadedClass implements Serializable, Comparable<LoadedClass> { return mit = calculateMedian(initializations); } + int medianTimeMicros() { + return medianInitTimeMicros() + medianLoadTimeMicros(); + } + /** Calculates the median duration for a list of operations. */ private static int calculateMedian(List<Operation> operations) { int size = operations.size(); @@ -99,18 +103,18 @@ class LoadedClass implements Serializable, Comparable<LoadedClass> { } } - /** Returns names of apps that loaded this class. */ - Set<String> applicationNames() { - Set<String> appNames = new HashSet<String>(); - addProcessNames(loads, appNames); - addProcessNames(initializations, appNames); - return appNames; + /** Returns names of processes that loaded this class. */ + Set<String> processNames() { + Set<String> names = new HashSet<String>(); + addProcessNames(loads, names); + addProcessNames(initializations, names); + return names; } - private void addProcessNames(List<Operation> ops, Set<String> appNames) { + private void addProcessNames(List<Operation> ops, Set<String> names) { for (Operation operation : ops) { - if (operation.process.isApplication()) { - appNames.add(operation.process.name); + if (operation.process.fromZygote()) { + names.add(operation.process.name); } } } @@ -123,31 +127,4 @@ class LoadedClass implements Serializable, Comparable<LoadedClass> { public String toString() { return name; } - - /** - * Returns true if this class's initialization causes the given class to - * initialize. - */ - public boolean initializes(LoadedClass clazz, Set<LoadedClass> visited) { - // Avoid infinite recursion. - if (!visited.add(this)) { - return false; - } - - if (clazz == this) { - return true; - } - - for (Operation initialization : initializations) { - if (initialization.loadedClass.initializes(clazz, visited)) { - return true; - } - } - - return false; - } - - public boolean isPreloadable() { - return systemClass && Policy.isPreloadableClass(name); - } } |