1

我试图了解 Android 应用程序使用的内存,因为我的应用程序似乎在我无法控制内存使用的地方泄漏内存。

  • 设置应用程序列出了应用程序内存使用情况(例如,我的应用程序为 90 MB)。这个数字是如何计算的?

  • adb shell ps | grep 'myapp'显示了一个常驻集大小,对于我的应用程序而言,它比设置应用程序下显示的大小大约多 20MB

我的猜测是第一个是 Android 的 PSS,第二个是常规的 Linux RSS,但不确定...

我的应用程序是一个phonegap 应用程序,即一个大的webview,并在本机Android 端运行一些与网络相关的东西(发送和接收UDP 数据包)。虽然没有接触 Eclipse DDMS 中报告的堆并没有改变(我的 SGS3 上使用了 15MB 中的 12MB),但settings应用程序下的内存以及ps输出中报告的内存随着时间的推移略有增长。每 30 分钟大约 1MB,但有时会上升 10MB 或更多,并且再也不会下降。所以这看起来真的像内存泄漏。我没有编写 JNI 代码,即整个网络部分使用的是 Android SDK。

  • 这种经历过的内存增长可能是什么原因?

  • 如何在 Android 上调试非 Java 堆内存问题?

4

0 回答 0