Android 中查看内存的使用情况集常用adb命令

android adb 命令获取手机应用性能数据 (CPU、内存、流量) 获取CPU数据 命令:adb shell top -n -1 | find “package信息” 获取内存数据 (1)手机总内存 命令:adb shell cat /proc/meminfo |findstr MemTotal (2)运行内存 ① 基本内存耗用分类: ● VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) ● RSS- Resident ... 阅读详情
1. 在IDE中查看Log信息
当程序运行垃圾回收的时候,会打印一条Log信息,其格式如下:
D/dalvikvm: , , ,

GC_Reason表示导致垃圾回收的原因以及当前的回收类型,包括以下几类:
GC_CONCURRENT:当堆中对象数量达到一定是触发的垃圾收集
GC_FOR_MALLOC:在内存已满的情况下分配内存,此时系统会暂停程序并回收内存
GC_HPROF_DUMP_HEAP:创建FPFOR文件来分析Heap时所造成的垃圾收集
GC_EXPLICIT: 程序调用了垃圾收集函数System.gc

GC_EXTERNAL_ALLOC: 出现在API 10及以下,为外部分配内存(native memory or NIO buffer)所造成的垃圾回收,高版本全部分配在Dalvik Heap中。

Amount_freed 表示此次回收的内存

Heap_stats 表示空闲内存百分比和存活对象大小/堆的总大小

External_memory_stats 表示API 10及以下的外部分配内存,已分配内存/导致垃圾回收的界限

Pause_time 暂停时间,一个表示开始回收垃圾的时间,另一个表示回收结束的暂停时间

D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9991K, external 4703K/5261K, paused 2ms+2ms
注意这条信息中的 “ 3571K/9991K” 值,这代表着程序使用的heap大小。


2.使用DDMS
Eclipse中的DDMS提供了一个观察内存使用情况的GUI,当我们不断点击Cause GC时,就会看到当前程序的Heap,使用比较方便,具体用法可以Google一下。


3.使用adb dumpsys 命令
adb是一个非常强大的工具,使用adb查看应用程序内存使用情况可按如下格式在命令行里查看内存使用情况:
adb shell dumpsys meminfo
其中,package_name 也可以换成程序的pid,pid可以通过 adb shell top | grep app_name 来查找,下图是某个程序的内存使用情况:


重点关注如下几个字段:
(1) Native/Dalvik 的 Heap 信息
具体在上面的第一行和第二行,它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。

(2) Total 的 PSS 信息
这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占内存比较大了。

可以看到,在linux下表示内存的耗用情况有四种不同的表现形式:
VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)


VSS:VSS表示一个进程可访问的全部内存地址空间的大小。这个大小包括了进程已经申请但尚未使用的内存空间。在实际中很少用这种方式来表示进程占用内存的情况,用它来表示单个进程的内存使用情况是不准确的。
RSS:表示一个进程在RAM中实际使用的空间地址大小,包括了全部共享库占用的内存,这种表示进程占用内存的情况也是不准确的。
PSS:表示一个进程在RAM中实际使用的空间地址大小,它按比例包含了共享库占用的内存。假如有3个进程使用同一个共享库,那么每个进程的PSS就包括了1/3大小的共享库内存。这种方式表示进程的内存使用情况较准确,但当只有一个进程使用共享库时,其情况和RSS一模一样。
USS:表示一个进程本身占用的内存空间大小,不包含其它任何成分,这是表示进程内存大小的最好方式!
可以看到:VSS>=RSS>=PSS>=USS


5.其它常用命令命令:
adb shell kill PIDNumber 死你想杀死的后台进程来模拟某种 bug 的复现条件。
adb shell ps 查看当前终端中的进程信息

那么如何在代码中判断当前的硬件系统有多少的 RAM 呢?在 Framework ProcessList.java 中有如下代码可用:
ProcessList() {
MemInfoReader minfo = new MemInfoReader();
minfo.readMemInfo();
mTotalMemMb = minfo.getTotalSize()/(1024*1024);
}

查看进程占用cpu的情况:adb shell top -n 1 -d 0.5 " grep proc_ id

原文地址:http://blog.youkuaiyun.com/bigconvience/article/details/35553983

安卓模拟器内存辅助技术讲解 这个是安卓内存工具 如果需要学习,也可以联系类人猿 Q群:583990978 这里可以很有底气的说,教程是目前易语言安卓内存里面最好的教程,有最好的工具。有的话可以告诉我。安卓内存教程一直都是其他人模仿我的,从未超越。 下面是课程具体目录(支持试看学习): 1.模拟器进程和安卓内存数据类型:整数型,小数型和浮点数型 (1)外部内存数据和内部数据区别。易语言属于外部内存定位(虚拟空间,没有真正地址,有基地址都是忽悠人的,我们可以叫做虚拟指针地址更加准确。 (2)... 阅读详情

相关推荐

Python爬虫实战:逆向解析央视频加密参数(附完整代码)

本文详细解析了央视频加密体系的技术实现,通过Python逆向工程实战演示如何解密动态密钥、AES加密和自定义哈希算法等核心组件。文章提供完整代码示例,涵盖GUID生成、参数构造和异步请求处理,帮助开发者掌握现代视频平台的反爬机制破解方法。

weixin_42532473的博客 1129

adb指令 查看cpu和内存

adb monkey test: adb shell monkey -p your.package.name -v 500

baiiu 8390

基于BQ24610的24V电池充电板

转自我的博客 本文的主要目的在于传播基本的阅读datasheet的能力,以及PCB设计需要注意的基本问题。 本次需要设计的是24V动力锂电池充电电路。 原理图设计 参考官方参考电路 为了快速设计电路,自然是参考官方参考电路,选择Typical Application。 做细微的参数调整 由于我们的需求是给24V的电池充电,所以需要稍微修改一下原理图,接下来需...

greedyhao的博客 1万+

Android查看内存命令总结

Android查看内存命令总结

Crazy程序猿 6147

基于AUTOSAR的汽车电子项目--电动助力转向系统

基于AUTOSAR的汽车电子项目开发通常涵盖广泛的领域,例如动力系统控制、车身电子、信息娱乐系统、高级驾驶辅助系统(ADAS)等。以下是一个简化的示例项目,展示了如何在AUTOSAR环境下开发一个电动助力转向系统(Electric Power Steering, EPS)的控制软件

MHD0815的博客 2129

激光焦点动态跟踪技术实战大揭秘:电容式与同轴视觉的巅峰对决

激光焦点动态跟踪技术是保证激光加工质量的关键因素。本文对比评测了电容式和同轴视觉两种主流技术:电容式响应速度快、成本低,适合高速稳定加工环境,但易受电磁干扰;同轴视觉精度高、抗干扰强,适合精密加工和复杂工件,但成本较高且处理速度受限。评测结果表明,企业应根据加工需求、预算和环境选择合适技术。未来该技术将向智能化、多技术融合方向发展,为工业应用提供更优解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 124

Android 中查看内存的使用情况集常用adb命令 标签: Androidadb 2014-06-28 10:55 57206人阅读 评论(0) 收藏 举报 分类: Android(9) 版权声

Android 中查看内存的使用情况集常用adb命令 标签: Androidadb 2014-06-28 10:55 57206人阅读 评论(0) 收藏 举报 分类: Android(9) 版权声明:本文为博主原创文章,未经博主允许不得转载。 1. 在IDE中查看Log信息 当程序运行垃圾回收的时候,会打印一条Log信息,其

manshq163com的专栏 429

PCL 基于法线微分(DoN)的点云分割【2026最新版】

基于法线微分的分割。博客长期更新,本文最新更新时间为:2026年5月10日。

点云侠的博客 39万+

Android中常用的adb shell命令

注意事项:这里写的命令,网页会重新编辑格式,比如我写了两个减号,发布后变成了一个减号;如果我说的命令不能正确执行,请手动输入命令,切记切换英文状态。 android 常用shell命令记录下来备忘设置adb环境变量其实就是将adb.exe的路径放到Path中,目的是cmd直接可以使用adb命令 比如我的adb.exe路径G:\tools\adt-bundle\sdk\platform-tools...

codehxy的专栏 14万+

【RT-DETR有效改进】轻量级网络ShuffleNetV2(附代码+修改教程)

从今天开始正式开始更新RT-DETR剑指论文专栏,本专栏的内容会迅速铺开,在短期呢大量更新,价格也会乘阶梯性上涨,所以想要和我一起学习RT-DETR改进,可以在前期直接关注,本文专栏旨在打造全网最好的RT-DETR专栏为想要发论文的家进行服务。RT-DETR剑指论文专栏,持续复现各种顶会内容——论文收割机RT-DETR​​。

Snu77的博客 1994

华为OD机试真题 新系统2026-04-15 Python&JS 实现【失灵的键盘】

有一个键盘有2个按键失灵了,按下这些键时会连续输出其他键对应的字符两次。具体如下: 1. 按下j键一次,屏幕上显示uu(两个连续的u);  按下b键一次,屏幕上显示t(两个连续的t) 2. u键和t键是好的,按下u键一次时,屏幕只会显示一次u(正常按键);按下t键一次时,屏幕只会显示一次t(正常按键) 3. 假定屏幕上连续显示两个t一定是按了一次b键,而不是两次t键;假定按键t之后不会紧接着按键b,即tttt转义为两个b,而不可能是tb

MISAYAONE的博客 523

安卓测试常用的 ADB 命令大全,非常全!!!!!

一、前言  1、介绍:     学习前是不是得先看看 adb 具体是啥东西,好吧,网上一大堆,截取了部分如下:SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下...

MzTestor的博客 15万+

YOLOv5改进 | 低照度检测 | 2024最新改进CPA-Enhancer链式思考网络(适用低照度、图像去雾、雨天、雪天)

本文给大家带来的2024.3月份最新改进机制,由CPA-Enhancer: Chain-of-Thought Prompted Adaptive Enhancer for Object Detection under Unknown Degradations论文提出的CPA-Enhancer链式思考网络CPA-Enhancer通过引入链式思考提示机制,实现了对未知退化条件下图像的自适应增强。该方法的核心在于能够利用CoT提示对图像退化进行动态分析和适应,从而显著提升物体检测性能。

Snu77的博客 2222

adb命令查看Android中内存使用情况

1、使用adb dumpsys命令 adb是一个非常强大的工具,使用adb查看程序内存使用情况可按如下格式在命令行里查看内存使用情况: adb shell dumpsys meminfo <package_name> 1 2 其中package_name可以换成程序的pid,pid可以通过adb shell top -n 1或者adb shell ps来查找,下图是某个程序的内存使用情况: 重点关注如下几个字段: (1)Native/Dalvik 的Heap信息 具体在上面的第一行和

qq_37605109的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Android ADB命令之内存统计与分析

摘要:本文介绍了Android内存分析的核心命令集及其应用场景。adb shell dumpsys meminfo可查看设备全局及应用详细内存状态;adb shell top用于实时监控进程资源占用;adb shell am dumpheap可导出Java堆文件进行深度分析;adb shell setprop libc.debug.malloc支持Native内存分配追踪(需root权限)。文中详细解析了各命令输出参数,提供了异常检测方法,并包含优化建议脚本,帮助开发者全面掌握Android系统内存分析与优

猿小蔡的博客 3241

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android adb查看手机内存使用情况

1.查看设备节点内存adb shell df 2.查看磁盘内存和运行内存:adb shell free 3.查看内存详细数据adb shell cat /proc/meminfo

zhuxingchong的博客 2万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【Android】adb常用的命令用法详解

有一次我去上门拜访亲戚家就有意想不到的收获,仿佛在沙砾中淘到黄金,亲戚家换了新手机,旧手机就闲置不用了,同意把旧手机给了我,现我手里有很多闲置的手机,需要通过电脑来管理它们是个问题,好在我经过长期的捣鼓和研究,顺利的管理起来,做什么用呢...

1630

使用adb命令查看手机cpu/内存等信息

使用adb命令查看手机cpu/内存等信息 前提 本地电脑Windows已安装ADB工具、夜神模拟器 连接手机 这里用的夜神模拟器连接的 使用adb命令连接手机:adb connect 127.0.0.1:62001 显示已连接成功了 进入Android底层(服务器) 命令:adb shell 查看CPU使用情况 输入命令:top -m 10 -s cpu(-m显示最大数量,-s 按指定行排序) 参数含义: PID : 应用程序ID S : 进程的状态(S表示休眠,R表示正在运行,Z表示

枫的等待 2万+
上一篇: Android 查看内存使用情况
下一篇: 使用meminfo分析Android单个进程内存信息
cbbbc
博客等级 码龄15年 609粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值