【转载】adb shell dumpsys 查看内存
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,例如:inSameSize
|
2 .Bitmap使用完以后,调用 bitmap.recycle()来释放内存
|
3 .如果应用是基于图片的应用,尽量采用LazyLoad和DymanicRecycle
|
4 .decode bitmap 的时候,将decode代码 try catch 出来, catch oom error,避免程序crash,可以在 catch 里面做一些释放内存操作
|
http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android/2299813#2299813
转载于:https://www.cnblogs.com/keke-xiaoxiami/articles/4326128.html
【转载】adb shell dumpsys 查看内存相关推荐
- adb shell dumpsys meminfo 内存测试指标解析
网上资料中有很多说明,但是没有解析的太清楚,我这里分析汇总了一下.供大家参数.学习知识,要关注细节,懂与不懂差很多的呦!我说的是薪资:). Native Heap:Native代码分配的内存,虚拟机和 ...
- adb shell dumpsys 命令 查看内存
android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 n ...
- adb shell dumpsys 命令 查看内存是否泄露
android程序内存被分为2部分: native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 ...
- Android内存泄漏查找和解决adb shell dumpsys meminfo packagement
1.通过adb shell dumpsys meminfo packageName来查看内存使用状况 在没有打开应用的情况下,该命令返回的数据是这样的: 2.打开这个应用的MainActivity,再 ...
- Android M App休眠 (adb shell dumpsys usagestats)
App休眠 在 Marshmallow 系统,Google 宣布了一个新的功能叫 App 休眠.App 休眠会阻止那些不 常用的 App(几天没有用过的 App)连接网络或者是运行任何程序直至设备充电 ...
- adb shell dumpsys 使用命令和来源
一.概述 adb shell dumpsys 在Android开发中经常要用到,平时都是零碎的积累,用到什么的时候就 记录下来,最近看了一些资料,发现可以汇总所有的命令,当带某个参数的时候,就可以查看 ...
- 打印Activity任务栈脚本:adb shell dumpsys activity
#!/bin/bash while [ 1 ] do echo"****************************<-----开始----->*************** ...
- rockchip 网络adb使用_R1通过adb shell命令查看软件版本号
本帖最后由 scutxd 于 2019-3-11 09:59 编辑 那么尝试直接查看设备属性adb connect 192.168.2.198#ip 地址替换为你r1的地址 adb shell get ...
- adb shell dumpsys appops
1 需求 获取 所有应用 所有敏感行为 调用log 获取 指定应用 所有敏感行为 调用log 获取 指定行为 所有应用 调用log 2 语法 AppOps service (appops) dump ...
最新文章
- PIE 支持项目介绍
- Hbase的基本认识
- HDU-4902-Nice boat
- SAP UI5 应用读取 CSRF token 的 HTTP head 请求逻辑解析
- 记一则js替换字符串的问题
- 在ASP.NET网站中实现带列表(其由xml文件控制生成)的视频播放
- linq to sql 详
- androidpn的学习研究(五)androidpn-client 常见BUG解决方法
- RAR for Linux 命令详解
- int 为什么是2147483647_「2147483647」当int类型超出了[-2147483648,2147483647]会发生什么? - seo实验室...
- 为什么所有浏览器的userAgent都带Mozilla
- 计算机软件资料统计表,幼儿园评估资料参考目录(中心幼儿园)
- 2017华为面试算法题小结
- 使用HTML制作简易求职表
- No active profile set, falling back to default profiles: default
- 夜莺(Nightingale)企业级监控平台
- 百度地图使用,以及一些api
- 史上最全综述:3D目标检测算法汇总!
- replaceAll(xxxx, File.separator); 报错character to be escaped is missing-1
- 一政:公务员笔试备考注意这几点