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

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

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

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

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

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

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

总结预加载的优点如下:

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

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

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

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

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

了解更多详情>>

访问云开发服务官网

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

相关推荐
Dream-Y.ocean12 小时前
鸿蒙PC平台宅匠 3D 室内设计适配实战:基于 Electron 壳方案的 Three.js 双渲染引擎与参数化户型编辑器开发
javascript·3d·harmonyos
行者-全栈开发12 小时前
【共创稿事节】HarmonyOS 应用上架全流程中的隐私合规:权限最小化、数据本地化与 AppAnalyzer 体检
harmonyos·鸿蒙·隐私合规·应用上架·agc·appanalyzer
贾伟康14 小时前
HarmonyOS API 26 UKey PIN 授权门禁:状态查询、失败归因与资源闭环
华为·harmonyos
Dream-Y.ocean20 小时前
鸿蒙PC平台星图遥感适配实战:基于 Electron 壳方案的纯 JavaScript 遥感图像处理引擎开发
javascript·electron·harmonyos
七月稻草人1 天前
鸿蒙平板能当电脑第二块屏幕吗?ToDesk、向日葵镜像/副屏实测
华为·电脑·harmonyos
贾伟康1 天前
【共创稿事节】HarmonyOS 7.0 Want隐式跳转:从接入到生产验证
性能优化·实战·harmonyos·arkts·arkui
NJPJI_Yang1 天前
鸿蒙 HarmonyOS 7 应用内存优化:appMemoryOptimizer 释放 so 页缓存实战
pytorch·深度学习·harmonyos
熊猫钓鱼>_>1 天前
三方库 NDK 原生模块跨平台适配与调试【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙心迹
行者-全栈开发2 天前
【鸿蒙心迹】三方库移植(二)——CMake 交叉编译与符号冲突排查实录(HarmonyOS 7.x)
harmonyos·cmake·交叉编译·三方库移植·ohos·符号冲突
梦想不只是梦与想2 天前
鸿蒙三方库源码调试
harmonyos·断点调试·三方源码调试