Android 程序性能优化——ANR,android 热更新流程
2、looper 的 loop 方法中,在调用 msg.target.dispatchMessage(msg);处理消息前后会使用 printer 打印 message 信息,
3、设置自定义的 printer,第一次调用时记录开始时间 T1,第二次调用时记录结束时间 T2,对应消息处理前后的时间,如果两次时间差超过自定义的阻塞时间,则调出 T1 到 T2 的堆栈信息进行处理显示。
[](
)导致卡顿的原因及优化
========================================================================
(1)界面布局较为复杂造成界面过度绘制(使用调试 GPU 过度绘制来查看界面)(背景)
进行布局优化
(2)动画太多或者动画执行过程较为复杂
简化动画;使用属性动画
(3)view 绘制过程较为耗时(gpu 呈现模式分析)
简化逻辑
(4)gc 占用程序计算时间(Memory Monitor 里面查看到短时间发生了多次内存的涨跌,这意味着很有可能发生了内存抖动,Allocation Tracker 来查看在短时间内,同一个栈中不断进出的相同对象)
对象重复利用
(5)内存泄漏(内存泄漏指的是那些程序不再使用的对象无法被 GC 识别,这样就导致这个对象一直留在内存当中,占用了宝贵的内存空间。显然,这还使得每级 Generation 的内存区域可用空间变小,GC 就会更容易被触发,间接导致卡顿问题)(leakcanary 检测)
(6)列表优化,使用局部刷新
[](
)Android 程序性能优化
===========================================================================
第一章.ANR 问题解析
第二章.crash 监控方案
第三章.启动速度与执行效率优化项目实战
第四章.内存优化
第五章.耗电优化
第六章.网络传输与数据存储优化
第七章.apk 大小优化
第八章.实战项目
[](
)Android 网络传输与数据存储优化
================================================================================
1.网络优化的三个要点
2.网络优化的两个维度
3.三个线下测试工具
4、周期长
5.线上监控的三个要点
6.三个线上监控方案
7.三个流量优化方案
8
.网络请求质量优化
[](
)资料领取
**以上完整 pdf 资料全部免费分享,有需要的朋友可以[点击这里直达免费获取方式](
)。**
评论