Android 性能优化 - 彻底解决内存抖动

起源

内存抖动是由于短时间内有大量对象进出新生区导致的,它伴随着频繁的GC。
gc会大量占用ui线程和cpu资源,会导致app整体卡顿

android profile 效果图如下图

Memory 中

这里写图片描述

我们可以看到 上面的一溜白色垃圾桶。说明在大量的执行gc操作。用了一会儿 手机就开始卡了

学习内容

  • 使用工具来快速定位 引起内存抖动的代码。
  • 学习 到什么样的 错误操作会导致内存都懂,如何避免。

快速定位内存抖动

快速定位 还得使用ddms。莫慌 as里面自带了
Tools->Android->Android Device Monitor
然后进行如下操作

这里写图片描述

然后我们看如下图片。
这里写图片描述

不要慌。

中间红框的就是我们要分析的内容,看他参差不齐的就是 内存抖动造成的。

然后我们把红框 内容放大。鼠标点住 然后往右拖动,就会变大,点击 红框上面的数字就会变小。

这里写图片描述

我们将 抖动的地方 放大后。随便点击会出现下图样式

这里写图片描述

可以看到这个粉色的拱门的 图案。从它的左边到右边 代表 一个函数 消耗的时间。

我们接下来 就快速定位有问题的代码在哪里

这里写图片描述

我就随便的滑动了一下,然后 随便的选中了一个, 然后下边就展示了 我所选中的 函数方法。

这里有一个细节
这里写图片描述

  • onClick 最前面 的序号是 9
  • Parent 下的方法 序号为8
  • children 下的方法序号为10

说明 onClick 的序号 大于onClick 调用的方法 的

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值