写点什么

Android 程序性能优化——ANR,android 热更新流程

发布于: 2021 年 11 月 05 日

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


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


.网络请求质量优化


[](

)资料领取


**以上完整 pdf 资料全部免费分享,有需要的朋友可以[点击这里直达免费获取方式](


)。**


评论

发布
暂无评论
Android程序性能优化——ANR,android热更新流程