diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java index ee18ed5667255..6adccf677bc76 100644 --- a/services/core/java/com/android/server/am/ActiveServices.java +++ b/services/core/java/com/android/server/am/ActiveServices.java @@ -7258,47 +7258,52 @@ public final class ActiveServices { */ protected boolean dumpService(FileDescriptor fd, PrintWriter pw, String name, int[] users, String[] args, int opti, boolean dumpAll) { - final ArrayList services = new ArrayList<>(); + try { + mAm.mOomAdjuster.mCachedAppOptimizer.enableFreezer(false); + final ArrayList services = new ArrayList<>(); - final Predicate filter = DumpUtils.filterRecord(name); + final Predicate filter = DumpUtils.filterRecord(name); - synchronized (mAm) { - if (users == null) { - users = mAm.mUserController.getUsers(); - } - - for (int user : users) { - ServiceMap smap = mServiceMap.get(user); - if (smap == null) { - continue; + synchronized (mAm) { + if (users == null) { + users = mAm.mUserController.getUsers(); } - ArrayMap alls = smap.mServicesByInstanceName; - for (int i=0; i alls = smap.mServicesByInstanceName; + for (int i=0; i providers = getProvidersForName(name); + try { + mAm.mOomAdjuster.mCachedAppOptimizer.enableFreezer(false); + ArrayList providers = getProvidersForName(name); - if (providers.size() <= 0) { - return false; - } - - boolean needSep = false; - for (int i=0; i