summaryrefslogtreecommitdiff
path: root/core/java/android/util/ArraySet.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2014-10-24 12:07:24 -0700
committerJeff Sharkey <jsharkey@android.com>2014-10-24 12:26:45 -0700
commit9f837a99d48c5bb8ad7fbc133943e5bf622ce065 (patch)
treed947fe40d57157502b9e64bd15eba1cc41b99b17 /core/java/android/util/ArraySet.java
parente41d967c5c6ff42ea41f61c731d77aa687b3956f (diff)
Reduce PackageManager RAM usage: ArrayMap/Set.
Transition PackageManager internals away from heavier HashMap/HashSet to use drop-in ArrayMap/ArraySet replacements. Saves ~38% RAM and thousands of objects on a typical device. Bug: 18115729 Change-Id: Ie107d2fee4b7baa4e3c3923231b4be877d1a5d2f
Diffstat (limited to 'core/java/android/util/ArraySet.java')
-rw-r--r--core/java/android/util/ArraySet.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java
index 423e48b610a7..68f725e688bd 100644
--- a/core/java/android/util/ArraySet.java
+++ b/core/java/android/util/ArraySet.java
@@ -245,13 +245,20 @@ public final class ArraySet<E> implements Collection<E>, Set<E> {
/**
* Create a new ArraySet with the mappings from the given ArraySet.
*/
- public ArraySet(ArraySet set) {
+ public ArraySet(ArraySet<E> set) {
this();
if (set != null) {
addAll(set);
}
}
+ /** {@hide} */
+ public ArraySet(Collection<E> set) {
+ this();
+ if (set != null) {
+ addAll(set);
+ }
+ }
/**
* Make the array map empty. All storage is released.