Android之内存使用分析

在内存分析的时候,我们都会用Android studio自带的Profiler工具,很好用,可以用图形直观的展示。其实这些数据是通过dumpsys命令从手机中取回来的,然后将其绘制出来而已。其实关键还是理解dumpsys能取到的数据是什么含义。

  • 私有(干净和脏)RAM
    这是仅由您的进程使用的内存。这是您的应用进程销毁后系统可以回收的 RAM 容量。通常情况下,最重要的部分是私有脏 RAM,它的开销最大,因为只有您的进程使用它,而且其内容仅存在于 RAM 中,所以无法通过分页机制映射到硬盘(因为 Android 不使用交换)。您进行的所有 Dalvik 和原生堆分配都将是私有脏 RAM;您与 Zygote 进程共享的 Dalvik 和原生分配则是共享脏 RAM。
  • 实际使用的物理内存(比例分配共享库占用的内存,PSS)
    这是对应用 RAM 占用情况的衡量,考虑了在进程之间共享 RAM 页的情况。您的进程独占的 RAM 页会直接计入其 PSS 值,而与其他进程共享的 RAM 页则仅会按相应比例计入 PSS 值。例如,两个进程之间共享的 RAM 页会将其一半的大小分别计入这两个进程的 PSS 中。

上面是两个很重要的概念,是实际中,我们关系pss就可以,这个可以理解成app实际使用的内存,而且,Android profiler绘制使用的也是这些数据。
其实,我们拿到这些数据也是可以自己绘制的,比如,我们在用appium在做自动化测试的时候,整个流程中就需要实时绘制出内存的变化。

这部分知识的深入了解,可以看参考中的几篇文章。

参考

内存测试——查看全面的内存分配
Android 游戏 四种内存评估方式
官方解释

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值