summaryrefslogtreecommitdiffstats
path: root/services/core/java/com/android/server/pm/PackageSettingBase.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 /services/core/java/com/android/server/pm/PackageSettingBase.java
parente41d967c5c6ff42ea41f61c731d77aa687b3956f (diff)
downloadframeworks_base-9f837a99d48c5bb8ad7fbc133943e5bf622ce065.zip
frameworks_base-9f837a99d48c5bb8ad7fbc133943e5bf622ce065.tar.gz
frameworks_base-9f837a99d48c5bb8ad7fbc133943e5bf622ce065.tar.bz2
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 'services/core/java/com/android/server/pm/PackageSettingBase.java')
-rw-r--r--services/core/java/com/android/server/pm/PackageSettingBase.java26
1 files changed, 13 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/pm/PackageSettingBase.java b/services/core/java/com/android/server/pm/PackageSettingBase.java
index bf13fd9..1dcadb4 100644
--- a/services/core/java/com/android/server/pm/PackageSettingBase.java
+++ b/services/core/java/com/android/server/pm/PackageSettingBase.java
@@ -21,10 +21,10 @@ import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED
import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
import android.content.pm.PackageUserState;
+import android.util.ArraySet;
import android.util.SparseArray;
import java.io.File;
-import java.util.HashSet;
/**
* Settings base class for pending and resolved classes.
@@ -321,8 +321,8 @@ class PackageSettingBase extends GrantedPermissions {
void setUserState(int userId, int enabled, boolean installed, boolean stopped,
boolean notLaunched, boolean hidden,
- String lastDisableAppCaller, HashSet<String> enabledComponents,
- HashSet<String> disabledComponents, boolean blockUninstall) {
+ String lastDisableAppCaller, ArraySet<String> enabledComponents,
+ ArraySet<String> disabledComponents, boolean blockUninstall) {
PackageUserState state = modifyUserState(userId);
state.enabled = enabled;
state.installed = installed;
@@ -335,39 +335,39 @@ class PackageSettingBase extends GrantedPermissions {
state.blockUninstall = blockUninstall;
}
- HashSet<String> getEnabledComponents(int userId) {
+ ArraySet<String> getEnabledComponents(int userId) {
return readUserState(userId).enabledComponents;
}
- HashSet<String> getDisabledComponents(int userId) {
+ ArraySet<String> getDisabledComponents(int userId) {
return readUserState(userId).disabledComponents;
}
- void setEnabledComponents(HashSet<String> components, int userId) {
+ void setEnabledComponents(ArraySet<String> components, int userId) {
modifyUserState(userId).enabledComponents = components;
}
- void setDisabledComponents(HashSet<String> components, int userId) {
+ void setDisabledComponents(ArraySet<String> components, int userId) {
modifyUserState(userId).disabledComponents = components;
}
- void setEnabledComponentsCopy(HashSet<String> components, int userId) {
+ void setEnabledComponentsCopy(ArraySet<String> components, int userId) {
modifyUserState(userId).enabledComponents = components != null
- ? new HashSet<String>(components) : null;
+ ? new ArraySet<String>(components) : null;
}
- void setDisabledComponentsCopy(HashSet<String> components, int userId) {
+ void setDisabledComponentsCopy(ArraySet<String> components, int userId) {
modifyUserState(userId).disabledComponents = components != null
- ? new HashSet<String>(components) : null;
+ ? new ArraySet<String>(components) : null;
}
PackageUserState modifyUserStateComponents(int userId, boolean disabled, boolean enabled) {
PackageUserState state = modifyUserState(userId);
if (disabled && state.disabledComponents == null) {
- state.disabledComponents = new HashSet<String>(1);
+ state.disabledComponents = new ArraySet<String>(1);
}
if (enabled && state.enabledComponents == null) {
- state.enabledComponents = new HashSet<String>(1);
+ state.enabledComponents = new ArraySet<String>(1);
}
return state;
}