adb shell dumpsys meminfo 内存测试指标解析

adb shell dumpsys meminfo 内存测试指标解析

转载链接:https://blog.csdn.net/jiangguangchao/article/details/85232761

https://blog.csdn.net/c_z_w/article/details/85336283?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

dumpsys 介绍
Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息

命令格式: adb shell dumpsys [system serbices]

常用dumpsys命令如下:


1、包信息查询


子命令格式:adb shell dumpsys package [-h] [-f] [—checkin] [cmd]…

2、activity信息查询


子命令格式:adb shell dumpsys activity [-a] [-c]…

3、网络信息查询


网络连接 adb shell dumpsys connectivity

网络策略 adb shell dumpsys netpolicy

网络状态adb shell dumpsys netstats

网络管理adb shell dumpsys network_management

4、其他常用服务信息查询


内存 adn shell dumpsys meminfo
CPU adn shell dumpsys cpuinfo
帧率 adn shell dumpsys gfxinfo
显示 adn shell dumpsys display
电源 adn shell dumpsys power
电池状态 adn shell dumpsys batterystats
电池 adn shell dumpsys battery
闹钟 adn shell dumpsys alarm
位置 adn shell dumpsys location

dumpsys meminfo详解
adb shell dumpsys meminfo [pkg] 可以用来查看指定进程包名的内存使用情况

如下图:

 


android程序内存被分为2部分:native和dalvik,dalvik就是java堆,普通java对象是在java堆分配,而bitmap是直接在native上分配,对于内存的限制是 native+dalvik 不能超过最大限制。

android程序内存一般限制在16M,也有24M的。

多说明,但是没有解析的太清楚,我这里分析汇总了一下。供大家参数。学习知识,要关注细节,懂与不懂差很多的呦!我说的是薪资:)。

Native Heap:Native代码分配的内存,虚拟机和Android框架分配内存。关于什么是Native代码,即非Java代码分配的内存。详细介绍请找百度。

Dalvik Heap:Java对象分配的占据内存

Dalvik Other:类数据结构和索引占据内存

Stack:栈内存

Ashmem:不以dalvik- 开头的内存区域,匿名共享内存用来提供共享内存通过分配一个多个进程可以共享的带名称的内存块。匿名共享内存(Anonymous Shared Memory-Ashmem。Android匿名共享内存是基于Linux共享内存的,都是在tmpfs文件系统上新建文件,并将其映射到不同的进程空间,从而达到共享内存的目的,只是,Android在Linux的基础上进行了改造,并借助Binder+fd文件描述符实现了共享内存的传递。

原文地址:https://www.cnblogs.com/yoyoma0355/p/14982882.html