summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2011-11-14 18:36:50 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-11-14 18:36:50 -0800
commit91c2b5cebe981fb894b7e6f053a8593c1d9db80f (patch)
treebfeaf8256696a5053fd21ef07d24ca3b1bb5bc0e /services
parent9058435dc1a741030c042c4d6f2512f5d1605e5d (diff)
parent8ec8d41aa691f901a58d28b89b1395f56bf1d1c3 (diff)
downloadframeworks_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.java34
-rw-r--r--services/java/com/android/server/am/ContentProviderRecord.java4
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) {