diff options
author | Dianne Hackborn <hackbod@google.com> | 2011-11-14 18:36:50 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-11-14 18:36:50 -0800 |
commit | 91c2b5cebe981fb894b7e6f053a8593c1d9db80f (patch) | |
tree | bfeaf8256696a5053fd21ef07d24ca3b1bb5bc0e /services | |
parent | 9058435dc1a741030c042c4d6f2512f5d1605e5d (diff) | |
parent | 8ec8d41aa691f901a58d28b89b1395f56bf1d1c3 (diff) | |
download | frameworks_base-91c2b5cebe981fb894b7e6f053a8593c1d9db80f.zip frameworks_base-91c2b5cebe981fb894b7e6f053a8593c1d9db80f.tar.gz frameworks_base-91c2b5cebe981fb894b7e6f053a8593c1d9db80f.tar.bz2 |
Merge "Improve low memory reporting." into ics-mr1
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 34 | ||||
-rw-r--r-- | services/java/com/android/server/am/ContentProviderRecord.java | 4 |
2 files changed, 33 insertions, 5 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 0228181..39e8c72 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -1248,7 +1248,14 @@ public final class ActivityManagerService extends ActivityManagerNative PrintWriter pw = new PrintWriter(sw); StringWriter catSw = new StringWriter(); PrintWriter catPw = new PrintWriter(catSw); - dumpApplicationMemoryUsage(null, pw, " ", new String[] { }, true, catPw); + String[] emptyArgs = new String[] { }; + dumpApplicationMemoryUsage(null, pw, " ", emptyArgs, true, catPw); + pw.println(); + dumpProcessesLocked(null, pw, emptyArgs, 0, false); + pw.println(); + dumpServicesLocked(null, pw, emptyArgs, 0, false, false); + pw.println(); + dumpActivitiesLocked(null, pw, emptyArgs, 0, false, false); String memUsage = sw.toString(); dropBuilder.append('\n'); dropBuilder.append(memUsage); @@ -8789,6 +8796,20 @@ public final class ActivityManagerService extends ActivityManagerNative TimeUtils.formatDuration(r.createTime, nowReal, pw); pw.print(" started="); pw.print(r.startRequested); pw.print(" connections="); pw.println(r.connections.size()); + if (r.connections.size() > 0) { + pw.println(" Connections:"); + for (ArrayList<ConnectionRecord> clist : r.connections.values()) { + for (int i=0; i<clist.size(); i++) { + ConnectionRecord conn = clist.get(i); + pw.print(" "); + pw.print(conn.binding.intent.intent.getIntent().toShortString( + false, false, false)); + pw.print(" -> "); + ProcessRecord proc = conn.binding.client; + pw.println(proc != null ? proc.toShortString() : "null"); + } + } + } } if (dumpClient && r.app != null && r.app.thread != null) { pw.println(" Client:"); @@ -8908,18 +8929,21 @@ public final class ActivityManagerService extends ActivityManagerNative continue; } pw.print(" * "); pw.print(cls); pw.print(" ("); - pw.print(comp.flattenToShortString()); pw.print(")"); + pw.print(comp.flattenToShortString()); pw.println(")"); if (dumpAll) { - pw.println(); r.dump(pw, " "); } else { - pw.print(" * "); pw.print(e.getKey().flattenToShortString()); if (r.proc != null) { - pw.println(":"); pw.print(" "); pw.println(r.proc); } else { pw.println(); } + if (r.clients.size() > 0) { + pw.println(" Clients:"); + for (ProcessRecord cproc : r.clients) { + pw.print(" - "); pw.println(cproc); + } + } } } needSep = true; diff --git a/services/java/com/android/server/am/ContentProviderRecord.java b/services/java/com/android/server/am/ContentProviderRecord.java index 9c55597..6f6266d 100644 --- a/services/java/com/android/server/am/ContentProviderRecord.java +++ b/services/java/com/android/server/am/ContentProviderRecord.java @@ -74,6 +74,10 @@ class ContentProviderRecord extends ContentProviderHolder { pw.print(" initOrder="); pw.println(info.initOrder); } if (clients.size() > 0) { + pw.print(prefix); pw.println("Clients:"); + for (ProcessRecord cproc : clients) { + pw.print(prefix); pw.println(" - "); pw.println(cproc); + } pw.print(prefix); pw.print("clients="); pw.println(clients); } if (externals != 0) { |