小程序远程图片资源按需预加载

本文介绍了如何在小程序中实现按需预加载远程图片资源,以解决页面打开时大图加载慢的问题。通过使用小程序API读取远程图片,创建ImageLoader管理器,详细讲解了配置和使用方法,包括图片资源路径文件的创建、加载器源码,以及在不同场景下的应用。同时,文章提到了预加载图片会被微信缓存,以优化启动体验。
摘要由CSDN通过智能技术生成

最近做H5开发遇到个问题,为了防止页面打开时,出现大图加载缓慢的情况,写了一个图片资源管理器,今天顺便实现了一下小程序版。

 

特别说明一下,小程序由于资源包大小限制,很多图片资源会存放到CND图片服务器上,为了实现小程序初始化时按需加载远程图片资源,实现了以下加载器,希望能解决部分小程序新人开发者预加载图片的苦恼。

 

特别强调:

本加载器为初级版本,暂未研究其他实现方式,当前实现方式需要在微信公众平台->设置->downloadFile合法域名,中添加想要加载的图片所在服务器合法域名。

 

 

原理介绍:

使用小程序自带API读取远程图片资源:

wx.getImageInfo({
 src: 'images/a.jpg',
 success: function (res) {
 console.log(res.width)
 console.log(res.height)
 }
}) 

这个接口可以创建图片组件对象并返回图片加载状态。

 

加载器用法:

 

1、在app.js的同级目录下创建一个ImageSource.js作为图片资源的路径管理文件(可以根据情况改为其他文件名称)。

2、在utils文件夹下放入ImageLoader.js或ImageLoader.min.js(附件)。

3、根据需要在对应的文件中创建ImageLoader对象(看下文)。

 

使用示例:

1、载入文件:

const ImageLoader = require('./utils/ImageLoader.min.js');
const ImageSource = require('./imageSource.js');

ImageLoader.min.js 为加载器源文件。

imageSource.js 为图片资源路径文件。

 

2、创建ImageLoader对象。

new ImageLoader({
 base: ImageSource.BASE,
 source: [ImageSource],
 loading: res => {
 // 可以做进度条动画
 console.log(res);
 },
 loaded: res => {
 // 可以加载完毕动画
 console.log(res);
 }
 });

 

参数

base : String 图片资源的基础路径 必填 示例: "https://image.example.com/static/images/"

source : Array 需要预加载的图片资源 必填 示例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值