典型的Android应用程序应该使用多少内存?

Amr*_*tha 16 android memory-management

我在android平台上开发了一个文件解析应用程序.如何检查应用程序实际耗尽的内存量?我尝试了adb shell cat/proc/meminfo命令,但这并没有给我我的应用程序使用了多少内存.它只是提供有关整体内存的一般信息.应用程序通常会消耗多少内存?通常或不寻常的是什么?任何帮助表示赞赏.谢谢 !

Tim*_*mmm 17

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:24MB

Nexus One:32MB

Xoom:48MB


Raj*_*Dua 5

您可以使用DDMS>分配跟踪器来跟踪应用程序的内存使用情况和堆分配

http://developer.android.com/resources/articles/track-mem.html

要跟踪PID的整体内存,可以在ActivityManager中使用以下两种方法

要获得您的应用的PID:

List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses ()
Run Code Online (Sandbox Code Playgroud)

然后是MemoryInfo

MemoryInfo[] getProcessMemoryInfo (int[] pids)
Run Code Online (Sandbox Code Playgroud)