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 资料全部免费分享,有需要的朋友可以[点击这里直达免费获取方式](
)。**


 
 








 
    
评论