summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/MemoryDumpActivity.java
diff options
context:
space:
mode:
authorDaniel Sandler <dsandler@android.com>2013-07-07 17:16:49 -0500
committerDaniel Sandler <dsandler@android.com>2013-07-07 23:13:51 -0500
commit0adfc5a75580dcf3294da95b378a27c4bcd015fb (patch)
treedc0a5ee64376ba344ef587106367f7c635e4f7af /src/com/android/launcher3/MemoryDumpActivity.java
parenta29949d2efae23166e95817a068aff517f81cde2 (diff)
downloadandroid_packages_apps_Trebuchet-0adfc5a75580dcf3294da95b378a27c4bcd015fb.tar.gz
android_packages_apps_Trebuchet-0adfc5a75580dcf3294da95b378a27c4bcd015fb.tar.bz2
android_packages_apps_Trebuchet-0adfc5a75580dcf3294da95b378a27c4bcd015fb.zip
Further MemoryTracker robustness:
- grab a copy of the tracked processes list in the dumper - scan running processes when memorytracker starts to catch pids that may have survived a crash of the tracker's process - use RunningServiceInfo to figure out roughly how long a service scanned in this way has been alive Change-Id: I861642f07183e3945f7a7a41e1e5144567e17e13
Diffstat (limited to 'src/com/android/launcher3/MemoryDumpActivity.java')
-rw-r--r--src/com/android/launcher3/MemoryDumpActivity.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/com/android/launcher3/MemoryDumpActivity.java b/src/com/android/launcher3/MemoryDumpActivity.java
index 447f0dd01..d79be8007 100644
--- a/src/com/android/launcher3/MemoryDumpActivity.java
+++ b/src/com/android/launcher3/MemoryDumpActivity.java
@@ -28,6 +28,7 @@ import android.util.Log;
import java.io.*;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -85,7 +86,9 @@ public class MemoryDumpActivity extends Activity {
final ArrayList<String> paths = new ArrayList<String>();
final int myPid = android.os.Process.myPid();
- for (int pid : tracker.getTrackedProcesses()) {
+ final int[] pids_orig = tracker.getTrackedProcesses();
+ final int[] pids_copy = Arrays.copyOf(pids_orig, pids_orig.length);
+ for (int pid : pids_copy) {
MemoryTracker.ProcessMemInfo info = tracker.getMemInfo(pid);
if (info != null) {
body.append("pid ").append(pid).append(":")