点评App启动优化

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 点评App启动优化 分享 :永鹤 美团点评事业部
2. 项 。
3. 治理流程
4. 01 防劣化
5. 线下分析能 Systrace 01 分析系统内核层 Trace 带 具,直观分析 CPU Btrace 2.0:插桩,可在线上或线下对特定 法进 3.0:虚拟机堆栈回溯,动态抓取堆栈。 焰图、内存分配,适合快速定位耗时函数。 动态追踪,实现 侵 的性能监控。 链路,卡顿函数堆栈上报。 动化核 插桩, Pro ler Android Studio 02 03 慢函数 的活动,如 CPU 调度、I/O 操作、锁等待,是定位主线程阻塞的利器。
6. 线下能 的不 3 线下很难覆盖线上的所有case。 慢函数插桩:可以作为线上策略,但是有10%的包体积增量。 2 Trace数据详细,但是采集时 时机受限, 1 法作为线上策略。
7. 动化&线上监控
8. 01 防劣化
9. 优化的六字箴 懒加载: 代码,裁剪功能路径。最优 延迟加载: 次使 再初始化 要任务有计划后推 :删除 不执 异步:主线程减负,io、反序列化等扔到 预加载:空间换时间 减负:代码优化,降低 身耗时 线程
10. 01 防劣化
11. 系统&IO Provider attach&onCreate进 懒加载 系统特性优化 IPC增加缓存策略,避免启动阶段频繁ipc耗时 利 Baseline Pro le实现AOT编译加速 GC抑制,class预热, 件,避免 件耗时 产Gson 法字段,减少反射耗时 系统消息优先级(同步屏障) 件名存储 个key,打开 空间换时间ASM 到 监控 式mmkv,File 效的缓存 使 志,提 IO优化
12. 启动项&资源&调度 启动项 资源 调度 1 严格按需初始化,不能夹带私货 1 xml预热,避免锁,注意停 1 全局线程池统 2 使 2 io预热 2 优先级&业务负载 3 线程提前预热 3 监控任务的合理性(等待、执 启动会框进 sdk初始化 3 管控第三 拓扑加载 )
13. 负载挑战 负载打满:以往经验来看,启动前 5 秒,CPU 负载 乎 100% 被打满,此时添加任何任务都需要 常谨慎。 1 监控线上的负载能 监控 2 监控线上任务的执 情况,耗时,成功率等 3 任务的依赖关系以及优先级
14. 负载监控 如图是假设8核机器上启动阶段有30个任务的示意 图,监控负载前需要将负载任务进 可视化,原 监 控就是启动阶段所有任务的耗时(cpu wall)。 总负载:所有完成(使 前加载成功记为完成)task的 和可以作为总负载的 个监控,先别计较是否必须在 启动阶段加载,先统计出来 个总负载的耗时,如果 是30个任务完成,加和为2650ms,总负载就是 2650ms。 原 监控:每个任务的耗时,cpu time和wall time,可以直观的得出某个任务的所占总负载的 耗时情况,之后按照必要性进 赛 治理。 个
15. 负载优化 1 对所有资源预热成功率进 监控。 2 按为每个任务设置可停 的标志位,在特定场景 (如 户已离开 )及时中断,避免资源浪费。
16. 智能加载-落地 Push or scheme唤起 典型案例:通过推送(Push)打开特定 。由于 户意图明确, 需加载完整 的 ,因此资源预热应跳过 必要内容,优先加载落地 所需资源。
17. 户习惯 户优先预热相关资源,以便他们在进 搜索功能的 频使 根据 户习惯智能预热组件与资源。例如,为 能迅速发起搜索。 智能预测- 后
18. 智能策略-设备差异
19. 01 防劣化
20. 防劣化-线下 编码期 涉及到启动相关的改动进 必要 员CR 回归测试 回归阶段全量慢函数监控上报 集成 集成 动触发启动 超过阈值进 发布前 动化测试 确认, 发布前 trace分析是否新增卡点
21. 防劣化-线上 线上巡检 实验平台定期对线上所有的实验的所有实验组对照 组进 核 指标对 ,超过阈值进 报警。 线上监控 1 名单插桩:针对线下卡顿堆栈 名单插桩做线上监控。 2 watchdog+虚拟机堆栈回溯动态获取卡顿。 3 全量慢函数监控针对哨兵版本发布(每个季度发 次,或者针对渠道灰度)。
22. 成果
23. 化建设:做好科普, 的优化理念 1 向产品和业务 “布道”,让他们理解性能与 业务增 的正相关性。 2 在需求评审阶段就介 ,评估性能 险,在 劣化形成前就消灭掉。
24. 期规划:打造轻量级、
25. Q&A
26. 招聘:移动端 级开发 程师(性能优化) 移动端 级开发 程师(App基建) 鸿蒙开发 程师 邮箱:shenyonghe@meituan.com 更多技术 货 欢迎关注“美团技术团队”

Accueil - Wiki
Copyright © 2011-2025 iteam. Current version is 2.144.1. UTC+08:00, 2025-07-24 07:34
浙ICP备14020137号-1 $Carte des visiteurs$