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

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

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

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

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

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

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

总结预加载的优点如下:

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

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

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

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

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

了解更多详情>>

访问云开发服务官网

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

相关推荐
nashane8 小时前
HarmonyOS 6学习:CapsLock键失效诊断与长截图完整实现指南
学习·华为·harmonyos
richard_yuu10 小时前
鸿蒙心理测评模块实战|PHQ-9/GAD7双量表答题、实时计分与结果本地化存储
华为·harmonyos
不爱吃糖的程序媛13 小时前
2026年Electron 鸿蒙PC环境搭建指南
人工智能·华为·harmonyos
nashane14 小时前
HarmonyOS 6学习:长截图功能开发中的滚动拼接与权限处理实战
人工智能·华为·harmonyos
大师兄666815 小时前
从零开发一个 HarmonyOS 输入法——KikaInputMethod 完整拆解
harmonyos·服务卡片·harmonyos6·formkit
Python私教20 小时前
鸿蒙 NEXT 也能接 MCP?用 ArkTS 跑通 AI Agent 工具链
人工智能·华为·harmonyos
Swift社区1 天前
分布式能力在鸿蒙 PC 上到底怎么用?
分布式·华为·harmonyos
nashane1 天前
HarmonyOS 6学习:外接键盘CapsLock与长截图功能的实战调试与完整解决方案
学习·华为·计算机外设·harmonyos
aqi002 天前
一文理清 HarmonyOS 6.0.2 涵盖的十个升级点
android·华为·harmonyos·鸿蒙·harmony