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

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文件描述符实现了共享内存的传递。

Other dev:内部driver占用的内存

.so mmap C库代码占用的内存

.jar mmap java文件代码占用的内存

.apk mmap apk代码占用的内存

.ttf mmap ttf文件代码占用的内存

.dex mmap dex文件代码占用内存。类函数的代码和常量占用的内存,dex mmap是映射classex.dex文件,Dalvik虚拟机从dex文件加载类信息和字符串常量等。Dex文件有索引区和Data区

Other mmap 其它文件占用的内存

Pss:进程各部分内存的消耗,是所有进程pss相加得到系统占用内存的总和。

Dalvik heap Pss内存=私有内存Private Dirty+ 共享内存Share Dirty/共享的进程数Dalvik heap Pss内存=私有内存Private Dirty+ 共享内存Share Dirty/共享的进程数

Heap Size:Dalvik Heap总共的内存大小

Heap Alloc:所有应用实例分配的内存,包括了应用从zygote共享分享的内存

Native Heap Size 约等于Native HeapAlloc + Native Heap Free

app内存分析的工具包括:

Android Studio/Memory Monitor:观察Dalvik内存

Dumpsys meminfo:观察整体内存

Smaps:观察整体内存的详细组成

Eclipse Memory Analyzer:详细分析Dalvik内存

app开发中要关注的一些内存使用:

尽量不要在循环中创建太多的临时变量

尽量把大型的循环拆散,分段或按需执行

引入SDK库和调用新的系统API时,主要不常用功能的消耗,可考虑多进程方案,影响内存放入临时进程执行

调整Dex文件的顺序可以优化空间

adb shell dumpsys meminfo 内存测试指标解析相关推荐

  1. Android内存泄漏查找和解决adb shell dumpsys meminfo packagement

    1.通过adb shell dumpsys meminfo packageName来查看内存使用状况 在没有打开应用的情况下,该命令返回的数据是这样的: 2.打开这个应用的MainActivity,再 ...

  2. 【转载】adb shell dumpsys 查看内存

    android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 n ...

  3. adb shell dumpsys 命令 查看内存

    android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 n ...

  4. adb shell dumpsys 命令 查看内存是否泄露

    android程序内存被分为2部分: native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 ...

  5. 对APP进行dumpsys meminfo内存分析解读

    使用adb shell dumpsys meminfo分析app内存截图: Native Heap:Native代码分配的内存,虚拟机和Android框架分配内存.关于什么是Native代码,即非Ja ...

  6. adb shell dumpsys 使用命令和来源

    一.概述 adb shell dumpsys 在Android开发中经常要用到,平时都是零碎的积累,用到什么的时候就 记录下来,最近看了一些资料,发现可以汇总所有的命令,当带某个参数的时候,就可以查看 ...

  7. adb shell dumpsys简单介绍

    以下内容来自stack overflow上的一个提问,因为个人英语水平所限,就不翻译了,将主要内容整理如下,方便查阅.简而言之,介绍了如下内容 dumpsys可以用来检测系统的服务信息 列出dumps ...

  8. Android M App休眠 (adb shell dumpsys usagestats)

    App休眠 在 Marshmallow 系统,Google 宣布了一个新的功能叫 App 休眠.App 休眠会阻止那些不 常用的 App(几天没有用过的 App)连接网络或者是运行任何程序直至设备充电 ...

  9. 打印Activity任务栈脚本:adb shell dumpsys activity

    #!/bin/bash while [ 1 ] do echo"****************************<-----开始----->*************** ...

最新文章

  1. centos7使用yum安装mysql
  2. 性别分析--微信数据分析(一)
  3. Python基础day09【面向对象(封装、继承、多态)、重写、私有权限】
  4. WebStorm使用TypeScript
  5. 一张纸折多少次可以变成珠穆朗玛峰那么高?
  6. 自制H3C交换机CONSOLE线
  7. android短信模板,短信服务 · Android – Bmob后端云
  8. editplus3编辑器颜色修改
  9. 利用PPT要怎样制作文字弹幕特效
  10. (苹果Mac OSX系统)绿联USB无法连接网络解决方案
  11. Pyecharts绘制图表大全——柱形图
  12. 使用@Vaild或@Validated正则校验以及常用正则
  13. 一键修改 PPT 所有页面的字体设置
  14. Android调用第三方App Activity
  15. 系统重构数据同步利器之Canal实战篇
  16. web网站的注销功能实现
  17. 版本管理软件--Git的安装、配置并使用
  18. Java的String类中提到的代码点,代码单元到底是什么?
  19. 警用宽窄带融合技术国际学术交流会成功召开
  20. 银河麒麟v10系统安装docker

热门文章

  1. 异地软件交付沟通感悟
  2. 【深度学习】卷积神经网络-图片分类案例(pytorch实现)
  3. 【TypeScript】TypeScript数据类型(上篇)
  4. IE安全系列:脚本先锋(2)
  5. 【Win11家庭中文版本Docker Desktop安装指北】
  6. 谁说程序员不浪漫,那是你没有深入了解他们,云效上线“云中谁寄锦书来”云端专属密码情书
  7. No module named ‘mdx_math‘
  8. asp如何在线打开pdf文件
  9. Kali安装VMware Tools,解决“安装VMware Tools”灰色按钮问题
  10. 什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?