From 4de7f739c15615d5564cefd22f60176cc45ae88e Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Tue, 2 Jul 2013 14:16:04 -0500 Subject: Don't dump hprof for other processes. dumpHprofData() only works for the current process anyway. Change-Id: Ic01133880e5149cc6a5ba0a23a1a08e980620f77 --- src/com/android/launcher3/MemoryDumpActivity.java | 37 +++++++++++++---------- 1 file changed, 21 insertions(+), 16 deletions(-) (limited to 'src/com/android/launcher3/MemoryDumpActivity.java') diff --git a/src/com/android/launcher3/MemoryDumpActivity.java b/src/com/android/launcher3/MemoryDumpActivity.java index 37e392881..447f0dd01 100644 --- a/src/com/android/launcher3/MemoryDumpActivity.java +++ b/src/com/android/launcher3/MemoryDumpActivity.java @@ -83,24 +83,29 @@ public class MemoryDumpActivity extends Activity { final StringBuilder body = new StringBuilder(); final ArrayList paths = new ArrayList(); + final int myPid = android.os.Process.myPid(); + for (int pid : tracker.getTrackedProcesses()) { - final String path = String.format("%s/launcher-memory-%d.ahprof", - Environment.getExternalStorageDirectory(), - pid); - Log.v(TAG, "Dumping memory info for process " + pid + " to " + path); MemoryTracker.ProcessMemInfo info = tracker.getMemInfo(pid); - body.append("pid ").append(pid).append(":") - .append(" up=").append(info.getUptime()) - .append(" pss=").append(info.currentPss) - .append(" uss=").append(info.currentUss) - .append("\n"); - try { - android.os.Debug.dumpHprofData(path); // will block - } catch (IOException e) { - Log.e(TAG, "error dumping memory:", e); + if (info != null) { + body.append("pid ").append(pid).append(":") + .append(" up=").append(info.getUptime()) + .append(" pss=").append(info.currentPss) + .append(" uss=").append(info.currentUss) + .append("\n"); + } + if (pid == myPid) { + final String path = String.format("%s/launcher-memory-%d.ahprof", + Environment.getExternalStorageDirectory(), + pid); + Log.v(TAG, "Dumping memory info for process " + pid + " to " + path); + try { + android.os.Debug.dumpHprofData(path); // will block + } catch (IOException e) { + Log.e(TAG, "error dumping memory:", e); + } + paths.add(path); } - - paths.add(path); } String zipfile = zipUp(paths); @@ -111,7 +116,7 @@ public class MemoryDumpActivity extends Activity { shareIntent.setType("application/zip"); final PackageManager pm = context.getPackageManager(); - shareIntent.putExtra(Intent.EXTRA_SUBJECT, String.format("Launcher memory dump")); + shareIntent.putExtra(Intent.EXTRA_SUBJECT, String.format("Launcher memory dump (%d)", myPid)); String appVersion; try { appVersion = pm.getPackageInfo(context.getPackageName(), 0).versionName; -- cgit v1.2.3