打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
adb shell dumpsys命令 查看内存

adb shell dumpsys命令 查看内存

分类: Android 58人阅读 评论(0) 收藏 举报

目录(?)[+]

    Android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 native+dalvik 不能超过最大限制。android程序内存一般限制在16M,当然也有24M的。

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

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

    以com.tencent.qqpimsecure为例:


    具体每一项代表什么,参考:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android#2299813,我们比较关心的是这2行:

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

        多数时候,发生OOM 都是在做一些跟图片相关的操作,以下提出一些建议尽量可以减少这种情况的发生:
1.decode bitmap 的时候,尽量配置下Options,例如:inSampleSize;
2.Bitmap使用完以后,调用 bitmap.recycle()来释放内存;
3.如果应用是基于图片的应用,尽量采用LazyLoad和DymanicRecycle;
4.decode bitmap 的时候,将decode代码 try catch 出来,catch oom error,避免程序crash,可以在catch里面做一些释放内存操作;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android高效加载大图、多图解决方案,有效避免程序OOM
Android程序猿 面试秘籍
Bitmap的生成流程之BitmapFactory.decodeResource VS BitmapFactory.decodeStream
ANDROID 探究oom内幕
图片处理OOM总结
Android内存优化之OOM
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服