找回密码
 立即注册
首页 业界区 业界 Cloud Foundation Kit启动预加载,赋能喜马拉雅秒启秒开 ...

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

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

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

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

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

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

  • 提前缓存数据:将数据提前下载到本地,免去实时等待过程,减少用户等待时间。
  • 数据实时性:安装预加载在安装时拉取数据,周期性预加载则每隔12小时自动拉取一次数据,用户在无感知的情况下即可获取内容。
  • 适用范围广泛:除了数据,字体、图片等各类静态资源也可以通过预加载提前缓存到本地。
5.gif

6.gif

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

未来,HarmonyOS SDK将继续深化与喜马拉雅的合作,通过技术创新和内容升级,为用户打造更智能、更沉浸的音频体验。
了解更多详情>>
访问云开发服务官网
获取预加载功能开发指导文档

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册