写点什么

Cloud Foundation Kit 启动预加载,赋能喜马拉雅秒启秒开流畅体验

作者:HarmonyOS SDK
  • 2025-09-11
    贵州
  • 本文字数:1289 字

    阅读完需:约 4 分钟

喜马拉雅是国内领先的音频分享平台,汇集了大量有声内容,移动端主应用程序平均月活在国内在线音频应用中排名第一。然而,在鸿蒙系统的开发适配过程中,喜马拉雅曾面临首页加载慢的挑战。由于首页需请求大量数据,若在用户进入首页后再发起请求,会导致长时间的等待,严重影响用户体验,甚至可能导致用户直接关闭应用不再使用。



为了实现首页的秒开,喜马拉雅探索了多种优化方案。


首先,尝试在每次请求后将数据缓存到本地,下次启动应用时,先展示上次保存的数据,再发起新的请求。然而,这一方案存在明显缺陷:首页部分数据具有时效性,不能每次都使用旧数据渲染,这会导致页面出现闪烁问题,影响用户体验。



随后,尝试将首页请求的时机提前至欢迎页启动时。这样可以将部分请求时间前置,有效减少用户在首页的等待时间。不过,当网络环境较差时,首页加载时间仍可能过长,无法彻底解决问题。



最终,喜马拉雅接入了 HarmonyOS SDK 云开发服务(Cloud Foundation Kit)中的预加载能力,这是一种可提前加载所需资源的服务。通过预加载,可以将页面所需的文本、图片、音频、视频等资源数据提前加载到本地进行缓存,以提升应用页面加载速度。预加载仅以原始二进制数据进行缓存,应用使用预加载时不需要修改原有数据格式,获取缓存后可直接进行解析,并且可以对隐私、敏感数据进行加密。预加载分为两种场景:安装预加载和周期性预加载。安装预加载是在应用安装时,应用下载完成后,同时下载首页所需数据,用户打开 App 进入首页时即可直接渲染本地数据,实现瞬间加载。对于非首次打开 App 的情况,则可以结合使用周期性预加载,通过向预加载服务注册周期性任务,在用户退出 App 时,预加载服务每隔 12 小时自动拉取一次首页数据并缓存本地。下次启动应用时,直接使用缓存的数据渲染,实现秒开。



在开发方案上,预加载功能分为云侧和端侧开发。云侧开发的关键在于指导预加载服务如何获取数据,这环节可以通过云函数实现,端侧开发则专注于如何高效展示这些数据。而在周期性预加载方案中,应用退出时会向预加载服务注册一个周期性任务,设置每 12 小时自动拉取一次数据,确保数据的时效性。喜马拉雅 APP 在使用预加载方案后,效果对比显著:未使用预加载时,用户会经历白屏等待;而使用预加载后,从欢迎页到首页的切换变得丝滑流畅,首页秒开,大幅提升了用户体验。


总结预加载的优点如下:


  1. 提前缓存数据:将数据提前下载到本地,免去实时等待过程,减少用户等待时间。

  2. 数据实时性:安装预加载在安装时拉取数据,周期性预加载则每隔 12 小时自动拉取一次数据,用户在无感知的情况下即可获取内容。

  3. 适用范围广泛:除了数据,字体、图片等各类静态资源也可以通过预加载提前缓存到本地。




除了首页,其他需要实现秒开的页面同样可以通过预加载来优化体验。例如,欢迎页在不同时间段会展示不同的背景图片。通过预加载,这些图片可以在应用启动前直接下载到本地,从而避免用户在打开应用时看到白屏或 Loading 动画,实现瞬间加载的效果。



未来,HarmonyOS SDK 将继续深化与喜马拉雅的合作,通过技术创新和内容升级,为用户打造更智能、更沉浸的音频体验。


了解更多详情>>


访问云开发服务官网


获取预加载功能开发指导文档

用户头像

HarmonyOS SDK

关注

HarmonyOS SDK 2022-06-16 加入

HarmonyOS SDK通过将HarmonyOS系统级能力对外开放,支撑开发者高效打造更纯净、更智能、更精致、更易用的鸿蒙应用,和开发者共同成长。

评论

发布
暂无评论
Cloud Foundation Kit启动预加载,赋能喜马拉雅秒启秒开流畅体验_HarmonyOS SDK_InfoQ写作社区