Android 内存抖动和内存泄漏

189 阅读1分钟

1.内存泄漏

最容易出现内存泄漏就是Handler,

因为Handler一旦挟持了Ativity,

而Ativity被销毁Handler还存在,

就会一直持有Ativity就可能出现内存泄漏。

解决方案:

弱应用

2.内存抖动

短时间内频繁创建对象,

虚拟机触发GC操作,

频发GC就导致画面卡顿(UI绘制时超过16ms一帧)

就像在OnDraw里面不断的创建对象

解决方案:

1.避免在OnDraw里创建对象

2.避免在循环体里创建对象

3.Bitmap 进行复用

3.LeakCanary 分析内存泄漏利器

主要原理就是Dump Heap,并且分析。

Java Heap即Java堆,主要就是内存区域,作用存放对象实例。