uni-app之预加载和取消预加载(仅支持APP和H5)——uni.preloadPage、uni.unPreloadPage

时间:2021-08-25 23:21:24   收藏:0   阅读:30

今天,在做微信小程序的时候,有一个请求需要较长的时间。向通过预加载实现。结果,结果……不支持小程序。但还是把它记录下来,说不定以后会用上。

题外话。后来将请求放到本地缓存。先读取缓存。然后,再悄悄的请求、更新。

uni.preloadPage(OBJECT)

预加载页面,是一种性能优化技术。被预载的页面,在打开时速度更快。

平台差异说明

App-nvue H5 微信小程序 支付宝小程序 百度小程序 字节跳动小程序 QQ小程序
√(2.7.12+) √(2.7.12+) × × × × ×

 

H5平台

预加载 /pages/test/test 对应的js文件,不执行页面预渲染逻辑。

uni.preloadPage({url: "/pages/test/test"});

App-nvue平台

预加载nvue页面 /pages/test/test

uni.preloadPage({url: "/pages/test/test"});

注意事项

示例

uni.preloadPage({url: "/pages/test/test"}); // 预加载 /pages/test/test 页面(仅触发onLoad,onReady)
uni.navigateTo({url: "/pages/test/test"}); // url匹配,跳转预加载页面(仅触发onShow)
uni.navigateTo({url: "/pages/test/test?a=b"}); // url不匹配,正常打开新页面

uni.unPreloadPage(OBJECT)

取消预载页面。

  1. 仅App-nvue支持
  2. 当预载页面未被打开时,使用 unPreloadPage时会销毁该页面,触发生命周期 onUnload
  3. 当预载页面已被打开时,使用 unPreloadPage时不销毁该页面,但该预加载页面不再继续存在,会随着路由变化而销毁

参考网址

原文:https://www.cnblogs.com/luyj00436/p/15183737.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!