一个典型的安卓应用应该使用多少内存?
一个典型的安卓应用应该使用多少内存?
我在Android平台上开发了一个文件解析应用程序。我该如何检查我的应用程序实际使用了多少内存?我尝试了adb shell cat /proc/meminfo命令,但这并没有给出我的应用程序使用了多少内存,它只是提供了关于整体内存的一般信息。一个应用程序通常使用多少内存?什么是正常的或不正常的?任何帮助都将不胜感激。谢谢!
您可以使用DDMS > Allocation Tracker来跟踪应用程序的内存使用和堆分配。
http://developer.android.com/resources/articles/track-mem.html
要跟踪PID的总体内存使用情况,您可以在ActivityManager中使用以下两种方法:
要获取您的应用程序的PID:
ListgetRunningAppProcesses ()
然后获取MemoryInfo
MemoryInfo[] getProcessMemoryInfo (int[] pids)
Android应用程序受到某些内存的限制。由于它相当(极度?)低,我认为您不应该感到愧疚使用它的所有内存!
旧设备上的限制是16MB,新设备上是24MB或32MB。似乎没有关于不同设备大小的更多信息,也没有人知道为什么现代手机具有1-2GB的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:24MB
Nexus One:32MB
Xoom:48MB