首页 > 代码库 > androd应用内存使用情况

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应用内存使用情况