优化帧:
开发者选项中,GPU呈现模式分析,分析柱状图。
保证每帧在16ms内。
开启过度绘制分析:降低布局层级、减少重复测量、去掉重复背景、ViewStub(只能被初始化一次)
卡顿优化:
BlockCanary原理:
主线程MainLooper的消息循环中,设置自定义Printer。Looper.getMainLooper().setMessageLogging(mainLooperPrinter);
在Printer的println方法去计算主线程一条Message处理的时长,当时长超过设定的阈值时就判定是卡顿了。
内存泄漏:
LeakCanary原理:
监听activity生命周期,onDestory后放入WeakReference,和ReferenceQueue关联,gc后检查对象存在判断内存泄漏
保存堆栈信息,用独立进程使用HAHA开源库解析快照,定位到路径,发送通知。
网友评论