Josh 通过将应用启动时间提高 30% 实现了更高的用户留存率

Josh 是一款印度制造的短视频应用,于 2020 年 8 月推出。它也是印度增长最快的短视频应用之一,拥有超过 1.24 亿月活跃用户和 6000 万日活跃用户。

针对各种设备(高端、中端、低端)优化 Josh 并保持所有设备上的标准体验,对于任何应用开发者来说都是一项艰巨的任务,Josh 的开发者从一开始就意识到了这一点。改进 Android Vitals 是他们冲刺中的主要任务,并且重视通过改进应用启动时间和响应速度来提升用户体验。

应用响应速度和启动时间也很重要,因为视频是用户在应用上参与和消费的主要格式。视频流中的任何卡顿或不同交互中的中断都可能导致用户迅速失去兴趣并退出应用。

通过投资应用启动时间性能,Josh 将普通用户的应用启动时间提高了 30%,并且在旧款和低端设备上约 10% 的用户的启动速度提高了 3 倍。

挑战

Josh 应用在不到一年的时间里迅速发展到超过 1 亿月活跃用户。在争先恐后推出产品主导或事件主导功能的过程中,应用优化往往会被放在次要位置。来自 Google 的应用审核和结构性反馈帮助他们及早发现这些问题,并制定了解决这些问题的方案。

他们的做法

在监控 Android 核心指标的过程中,我们发现了一个提升应用启动速度的机会。团队决定优先改进冷启动时间,因为这将自动改善温启动和热启动时间。

通过使用多个自定义跟踪、systrace、Android Studio Profiler 和 Perfetto,团队能够进行广泛的调查并识别瓶颈。很明显,Application 类的 onCreate 和其他同步方法所花费的时间可以进行优化。

以下是团队具体采取的措施:

  • 分析了应用启动期间执行的每个代码块。
  • 使用 Android 性能工具(如 Perfetto、Systrace、Dumpsys 等)分析系统跟踪。
  • 调查了第三方 SDK 对应用启动的影响,并禁用了某些第三方 SDK 的自动启动。
  • 淘汰了遗留库。
  • 将一些模块延迟并在后台执行。
  • 减小了启动时启动画面上使用的可绘制对象的大小,并针对屏幕尺寸进行了优化。

通过隔离测试对以上所有操作进行了彻底验证,以确认其对应用的积极影响,模拟冷启动并集成了新的 Jetpack Macrobenchmark 库。

结果

这些更改不仅导致所有指标立即改善,还有助于增强整体用户体验,并为 Josh 的开发团队带来宝贵的经验教训。

  • 改善跳出率和留存率帮助 Josh **留住了 100 万+** 用户,相比基线数据有了显著提升。专注于这两个指标也改善了应用内的整体参与度。
  • 应用启动改进后发布,Play 商店的**评分显示出向上的积极趋势**。
  • 应用启动时间 **对于普通用户提高了 30%,对于旧款和低端设备上的约 10% 用户提高了 3 倍**,从而帮助显著改善了这些用户的应用响应速度。

更重要的是,这次改进 Android 核心指标的实践将整个团队凝聚在一起,提高了团队的积极性,特别是初级成员的积极性。它巩固了核心指标的重要性,甚至导致团队将其中的某些经验教训应用到其他应用中。

“当生态系统中的合作伙伴走到一起时,生态系统也会共同发展。数据和分析的力量是前所未有的。作为一个以创作者为先、内容为导向和以消费者为中心的平台,我们一直专注于创造终极用户体验,这在很大程度上依赖于应用的稳定性。Josh 在发布后见证了立即加速的增长。与 Google Play 团队密切合作帮助我们及早识别和纠正应用稳定性和优化等挑战。我们与 Google 的努力帮助我们实现了稳定性的提升以及用户留存率和参与度的增强。”

– VerSe Innovation 产品和工程高级副总裁 Shailendra Sharma。