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堆,主要就是内存区域,作用存放对象实例。