Turo 使用 Android 开发者工具和最佳实践将应用启动时间缩短了 77%
Turo
https://turo.com/
启动时间
https://developer.android.google.cn/topic/performance/vitals/launch-time
使用 App Startup 库做好准备
https://developer.android.google.cn/topic/libraries/app-startup
延迟网络请求
并缩短启动画面的时间
在优化之前,应用会依次执行多个网络请求,然后显示一秒钟自定义的启动画面动画,随后用户才会进入应用的主屏幕。这导致了应用启动过程缓慢,尤其是在用户网络连接不佳的时候。
启动画面动画
https://developer.android.google.cn/develop/ui/views/launch/splash-screen
对 Turo 开发者而言,移除启动画面是一种改善用户感知加载时间的简单方法。通过并行和异步处理网络请求,开发者可以大幅加快用户访问主屏幕的速度。Turo 的高级软件工程师 Pavlo Stavytskyi 说: "最初,我们使用了专用的 SplashActivity 来运行所有启动工作,然后将应用路由至 HomeActivity。但是,最新的指南并不推荐这种方法。因此,我们取消了冗余的 SplashActivity,并利用 Splash Screen API 将所有启动逻辑转移到根 Activity 中。"
与此同时,Turo 也执行了许多其他启动网络请求以为用户打造各不相同的个性化体验。"如果有客户访问此应用,一些网络请求有助于确定要在启动画面之后显示什么页面。"Pavlo 说,"虽然默认显示主屏幕,但在某些特殊情况下,用户可以直接重定向到正在进行的车辆预订或反馈页面。"
该团队不想因为检查这些特殊场景而降低应用每次的启动速度。Turo 目前采取了始终默认打开主屏幕的新方法,并异步执行网络请求。如果需要重定向,则会在主屏幕的上方显示相应的页面。
应用基准配置文件
Turo 团队还应用了基准配置文件来提升应用的性能。基准配置文件有助于预先编译启动代码路径。根据 Macrobenchmark 测试,这可以进一步将 Turo 的应用启动时间缩短 15%。Pavlo 说: "移除所有同步网络请求提高了启动持续时间的确定性,基准配置文件的应用也变得更有意义。"
基准配置文件
https://developer.android.google.cn/topic/performance/baselineprofiles/overview
性能的提升可以提高用户的留存率、交易量以及用户对应用的评级。基准配置文件是一种大幅提高应用性能的快速且可靠的方法。
优先考虑启动性能
应用的启动时间受众多因素影响。开发者需要确定要优化哪些因素、优化的时间和方式,才能确保实现最佳用户体验。
"重要的是从事半功倍的任务开始优化。"Pavlo 说,"工程师需要将时间和资源分配到不同的工作任务中,在许多情况下,他们都需要在产品开发和性能优化之间进行权衡。但是,将性能作为独立的产品特性是成功的必经之选。"
立即优化您的应用
借助 Android 应用优化最佳实践、Android App Startup 库,和基准配置文件来缩短应用的启动时间。
Android 应用优化最佳实践
https://developer.android.google.cn/topic/performance/appstartup/best-practicesAndroid App Startup 库
https://developer.android.google.cn/topic/libraries/app-startup基准配置文件
https://developer.android.google.cn/topic/performance/baselineprofiles/overview
您还可以阅读完整文章,详细了解 Turo 如何借助 Android 开发者工具和最佳实践来提升应用启动效率。欢迎您持续关注 "Android 开发者" 微信公众号,及时了解更多开发技术和产品更新等资讯动态。
Turo 如何借助 Android 开发者工具和最佳实践来提升应用启动效率
https://morfly.medium.com/650cc113c3dc
推荐阅读