`
xyz_lmn
  • 浏览: 62828 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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

/**
* @author 张兴业
* 邮箱:xy-zhang#163.com
* android开发进阶群:278401545
*
*/

分享到:
评论

相关推荐

    ADBShell操作手册

    ADB Debugging(adb调试命令) 3 adb devices 3 adb forward <local> <remote> 3 adb kill-server 3 无线网(Wireless) 3 adb connect [:] 3 adb usb 4 安装包管理命令(Package ...adb shell dumpsys [options] 22

    常用ADB命令(暂定)

    查看详细应用信息: adb shell dumpsys package 查看应用安装路径: adb shell pm path 强制停止应用: adb shell am force-stop 复制设备里的文件到电脑上面:adb pull [电脑的目录] 查看设备信息:adb shell getprop...

    (Mac/Linux版)Android实时显示帧率(GameBench)

    android帧率可以通过adb shell dumpsys gfxinfo packages来查看,但是需要分析log,这种特别麻烦,分享一个免root获取帧率工具。注意:.jar文件在PC上运行。

    easy-dumpsys:输出以下adb命令的脚本:`adb shell dumpsys activity `以更小,更容易和用户友好的方式..

    easy-dumpsys:输出以下adb命令的脚本:`adb shell dumpsys activity `以更小,更容易和用户友好的方式..

    Android中dumpsys命令用法简单介绍

    在Android手机上, 通过使用adb shell命令可以进入android系统的shell, 该shell除支持一些常用的标准命令之外,还支持一些和android系统相关的其他命令, 这些命令可以打印出系统当前的状态信息。 dumpsys就是这样...

    Android Debug Bridge(安卓调试桥) tools platform-tools adb命令行工具

    查看应用详细信息命令:adb shell dumpsys package “packagename” 调起 Activity命令格式:adb shell am start [options] 例如:adb shell am start -n com.tencent.mm/.ui.LauncherUI表示调起微信主界面 调起 ...

    dumpsys命令1

    dumpsys命令这是安卓提供的调试命令.和名字的翻译一样,倾倒系统信息.主要用来查询系统服务的运行状态.列出所有的系统服务:adb shell dumpsys

    adb 工具,操作手机工具

    App 信息 获取当前界面元素:adb shell dumpsys activity top 获取任务列表:adb shell dumpsys activity activities App 入口 adb logcat |grep -i displayed aapt dump badging mobike.apk | grep launchable-...

    ADB 命令 查看内存和CPU VSS,RSS,PSS,USS

    1. procrank //查看所有进程的内存占比,可以查看TOTAL 2. procrank | grep 包名 //查看特定进程内存占比 结果如下: procrank  PID Vss Rss Pss Uss cmdline  2260 1462560K 24324K 21570K 20932K ...

    LogicLog Adb.exe

    用于查看进程的内存使用情况,也就是可以检查正在运行的android设备正在运行的程序的内存占用情况 (一篇相关文章 : http://www.cnblogs.com/wanqieddy/archive/2012/10/11/2719606.html) shell adb shell 获取...

    bubian#StudyNote#adb命令1

    adb 分析内存泄漏:2)多次进入退出后的占用内存`TOTAL`不应变化太大.adb 分析内存泄漏:1)验证可通过命令"adb shell dumpsys gf

    安卓性能监控V1.1.8.exe

    2、输入包名:可在adb窗口输入命令查看“adb shell dumpsys window | findstr mCurrentFocus” 3、点击【开始】即可监控性能 4、监控过程会实时界面显示资源情况,点击结束后可以导出到excel文档中整理

    adb1.0.26包含fastboot.exe

    一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用 adb 命令来查看。 通过 IP 地址连接设备。 adb connect 这里的 <device-ip-address> 就是...

    adb高度桥命令

    常用Adb桥调试Shell Command Description Comments dumpsys 清除屏幕中的系统数据n. Dalvik Debug Monitor Service (DDMS)工具提供了完整的调试、. dumpstate 清除一个文件的状态. logcat []... []... 启动信息...

    Android-profile-GPU-rendering

    使用 OnePlus One + CM 12.1 (Android 5.1) 测试用法将您的 Android 手机插入 USB 端口在设置 - 开发人员选项 - 配置 GPU 渲染中,选择In adb shell dumpsys gfxinfo python apgr.py 在您的网络浏览器中打开 apgr....

    拖动文件上来安装- 指订设备安装.bat

    功能:此bat脚本实现多个设备连接电脑时,指订某一个设备进行拖拽安装apk,并在安装后启用apk 附注: 下载后需要修改包名为自己本地要...cmd获取apk的homeActivity命令 adb shell dumpsys activity | find "关键字

    monkey_android自动化工具

    android monkey python3 统计性能信息cpu,men,fps,battery,flow 支持wifi,gprs统计 统计crash信息 fps统计:需要打开开发者里面的GPU呈现模式分析-在adb shell dumpsys gfxinfo中

    Android代码-AndroidRocket

    通过查询百度,我们知道用命令行adb shell dumpsys activity activities可以查询,但是发现不方便,所以便有了AndroidRocket 效果图 安装体验 AndroidRocket.apk 使用方法 6.0 以上版本需要悬浮窗权限。所以打开...

    Android之在linux终端执行shell脚本直接打印当前运行app的日志的实现方法

    adb shell dumpsys activity top 2)、我们的终端安装了pidcat.py脚本,然后执行如下的命令就可以打印当前运行app的全日志, pidcat.py packageName 3)、思考,为什么每次都需要这样重复的操作呢?一说到重复,...

Global site tag (gtag.js) - Google Analytics