前言
抖音APP告诉我们启动性能是APP使用体验的门面,启动过程耗时较长很可能导致用户使用APP的兴趣骤减。
作为一名Androider,你一定听过启动时间2-5-8原则:
当用户在0-2秒之间得到响应时,会感觉系统的响应很快;
当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;
当用户在5-8秒之间得到响应时,会感觉系统的响应速度很慢,但是还可以接受;
而当用户在超过8秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应;
所以不管你在App中做了多么精美的功能,如果在用户点进App的瞬间,产品的反应速度没有让用户感觉满意,人家根本就不会再有继续往下探索的欲望。
这就好比我们去一家餐厅吃饭,在点餐的时候等了半天都没有服务人员过来,可能就没有耐心等待直接走了。
而抖音在这一方面,让我知道了什么叫性能优化天花板,一丝多余的性能都没有被浪费,整个启动和运行过程一气呵成,接下来让我们看看他是怎么做的。
一.抖音java OOM背景
- java OOM Top 堆栈归因
- 堆内存治理思路
二.工具建设
- 工具思路
- Liko 介绍
- Liko 流程图
- Hprof 收集
- Hprof 分析时机
三.优化实践
- 内存泄漏
- 系统异步
- UI 泄漏
- 内存泄漏兜底
- 大对象
- 小对象
四.加深思考
- Kenzo 原理
- 生产端
- 消费端
- 工作流
- 可视化展示
写在最后
在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。
如果你觉得自己学习效率低,缺乏正确的指导,可以扫码,加入我们资源丰富,学习氛围浓厚的技术圈一起学习交流吧!
加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。