From 9f837a99d48c5bb8ad7fbc133943e5bf622ce065 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Fri, 24 Oct 2014 12:07:24 -0700 Subject: 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 --- core/java/android/util/ArraySet.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'core/java/android/util') diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java index 423e48b..68f725e 100644 --- a/core/java/android/util/ArraySet.java +++ b/core/java/android/util/ArraySet.java @@ -245,13 +245,20 @@ public final class ArraySet implements Collection, Set { /** * Create a new ArraySet with the mappings from the given ArraySet. */ - public ArraySet(ArraySet set) { + public ArraySet(ArraySet set) { this(); if (set != null) { addAll(set); } } + /** {@hide} */ + public ArraySet(Collection set) { + this(); + if (set != null) { + addAll(set); + } + } /** * Make the array map empty. All storage is released. -- cgit v1.1