我在android平台上开发了一个文件解析应用程序。如何检查应用程序实际耗尽的内存量?我尝试了adb shell cat / proc / meminfo命令,但这并没有给我我的应用程序使用了多少内存。它只是提供有关整体内存的一般信息。应用程序通常会消耗多少内存?通常或不寻常的是什么?任何帮助表示赞赏。谢谢!
答案 0 :(得分:15)
Android应用受限于一定数量的内存。因为它非常(疯狂?)低,我认为你不应该为使用它而感到内疚!
对于非常旧的设备,限制为16 MB,对于较新的设备,限制为24 MB或32 MB。关于不同设备的大小似乎没有太多信息,似乎没有人知道为什么当现代手机拥有1-2 GB的RAM时限制如此之小。
http://blog.javia.org/how-to-work-around-androids-24-mb-memory-limit/
https://groups.google.com/forum/?fromgroups=#!topic/android-platform/7zKQlrDcypQ
啊哈,我在极限上找到了一些具体数字:
http://dubroy.com/memory_management_for_android_apps.pdf
G1:16MB
Droid:24MBNexus One:32MB
Xoom:48MB
答案 1 :(得分:5)
您可以使用DDMS>分配跟踪器,用于跟踪应用程序的内存使用情况和堆分配
http://developer.android.com/resources/articles/track-mem.html
要跟踪PID的整体内存,可以在ActivityManager
中使用以下两种方法获取应用的PID:
List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses ()
然后是MemoryInfo
MemoryInfo[] getProcessMemoryInfo (int[] pids)
答案 2 :(得分:1)
ActivityManager.getMemoryInfo()
答案 3 :(得分:0)
您可以在应用程序管理器中检查应用程序内存使用情况,您可以在link
中查看答案 4 :(得分:0)
您可以使用以下命令获取Android应用程序的内存使用情况: 假设你在PATH中有adb:
adb shell dumpsys meminfo com.<your.package>
要查看正在使用的内存的实时更新,您可以尝试
watch "adb shell dumpsys meminfo com.<your.package>"
希望这有帮助
答案 5 :(得分:0)
您可以在Android Studio中使用内置的探查器来检查内存,CPU,网络和其他资源的使用情况。
运行您的应用。
单击底部工具窗口栏中的“探查器”。
让我的应用使用大约70-120 MB的内存对我来说很常见。
Android Studio探查器: