androd应用内存使用情况

Posted 子信风蓝蓝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了androd应用内存使用情况相关的知识,希望对你有一定的参考价值。

  • 单个应用程序最大内存限制,超过这个值会产生OOM(内存溢出)

     命令:adb shell ->dalvik.vm.heapgrowthlimit

     

  • 应用启动后分配的初始内存

    命令:adb shell ->dalvik.vm.heapstartsize

     

  • 单个java虚拟机最大的内存限制,超过这个值会产生OOM(内存溢出)

      命令:adb shell ->getprop|grep dalvik.vm.heapsize

      

 

  • Android内存使用

     android程序内存一般限制在16M,当然也有24M的,而android程序内存被分为2部分:

     nativ和dalvik,dalvik就是Java堆,我们创建的对象是在这里分配的,而bitmap是直接在native上分配的,对于内存限制是native+dalvik不能

超过最大限制。

      用以下命令可以查看程序的内存使用情况:

      adb shell dumpsys meminfo $package_name or $pid    //使用程序的包名或者进程id

      

      其中size是需要的内存,而alloc是分配了的内存,对应的2列分别是native和dalvik,当总数也就是TOTAL这一列超过单个程序内存最大限制时,OOM(内存溢出)就很有可能会出现了

      

 

以上是关于androd应用内存使用情况的主要内容,如果未能解决你的问题,请参考以下文章

Qt 应用程序内存使用情况

监控 Java 应用程序自己的内存使用情况

如何在 .net 应用程序中显示实时内存使用情况

adb命令查看手机应用内存使用情况

获取应用程序池的内存使用情况

如何在我的 iphone 应用程序中显示我的应用程序的内存使用情况