
快手APM平台:启动优化与用户体验提升
版权申诉

"快手 APM 平台建设与性能优化"
本文是关于快手公司在构建其APM(Application Performance Management)平台及进行性能优化的实践分享。APM通常涉及对应用程序性能的全面监控,涵盖可能导致用户体验下降的各种问题,如崩溃、内存不足、应用无响应、卡顿以及启动耗时等。在快手的实践中,他们起初重点关注了崩溃、启动和卡顿的优化,虽然技术指标有所改善,但并未立即反映出用户数据的显著提升。
在经历了一次与增长部门合作优化新用户启动体验的事件后,快手意识到APM对于用户体验和业务增长的重要性。通过减少新用户的启动耗时40%,他们观察到了新用户0播(首次播放)、次日留存等关键数据的显著提升,同时也降低了获客成本,使得性能优化得到了公司的高度重视。
在APM的具体实施策略方面,快手采取了以下方法:
1. **启动优化**:
- **定义问题**:明确启动阶段从用户点击桌面图标到App实际可用的过程。
- **完善工具**:建立启动框架,将启动代码细分为任务,线上收集任务耗时数据,借助Android的sysTrace和iOS自研的火焰图工具来定位优化点。
- **优化整体流程**:通过分场景、用户特性来推迟或取消部分任务,针对未登录、非拍摄或主播用户,以及通过push通道打开的情况进行调整。
- **优化手段**:例如,主动触发dex2oat过程,提前编译代码以提升执行效率;避免某些API的不当使用,如setCookie可能会导致WebView内核初始化,或者避免在布局初始化时消耗过多时间。
2. **其他优化措施**:
- 对于特定操作,如设置桌面图标角标或首次读写sharedPreferences,寻找更快的替代方案,比如使用mmkv提高效率。
- 减少布局的初始化时间,降低布局复杂度,不显示的部分用viewStub替代,以减少资源消耗。
通过上述方法,快手成功地提高了其应用程序的性能,并证明了APM在提升用户体验和促进业务发展中的关键作用。这一经验表明,对于任何希望提供优质用户体验和持续增长的应用开发者来说,性能优化和APM平台的建设都是不可或缺的。
相关推荐















梦想全栈程序猿
- 粉丝: 148
最新资源
- 2014年数据结构学科知识库与C#编程课程
- 文字到语音代理:使用与配置指南
- LA Hacks 2015项目回顾与JavaScript技术实践
- PilotEdit 15.3.0: 大文件编辑与FTP功能的全能文本编辑器
- AWS上的首个Node.js服务器搭建与部署
- Linux集群无盘支持工具nfsroot介绍
- H.264/SVC核心编码注释解读——JSVM 9.18
- Event-Crawler:结合网络爬虫与API服务采集土耳其事件数据
- AlpineLinux轻量级Owncloud Docker镜像的创建与使用
- Java Swing实战项目集:从小型应用到综合数据管理
- Macbook Pro 2014在macOS上安装Windows 10指南
- Docker容器技术深入解析与实践应用教程
- 爱尔兰金融危机数据可视化分析
- Bloc-jams Web应用开发教程:HTML5、Node.js与Brunch
- 斯图文森高中时间表追踪网站解析与创新实现
- 使用JavaScript实现自定义骰子投掷功能
- ES6转译示例:FullSail WDD学生启动指南
- 掌握JavaScript构建个性化在线简历
- 移动兼容麻将计分器:HTML5/Javascript实现
- 简化DevStack部署:Vagrant与Ansible的单多节点自动化
- React手势识别器:模仿UIGestureRecognizer
- 探索压缩文件实例及其结果分析
- 纯JavaScript实现Chrome扩展打包工具
- JavaWeb进销存系统开源项目:Pleo后端挑战解析