从内存、CPU、加载速度
img+图片路径
img+DataUrl
bg+图片路径
bg+DataUrl
结果如下这个表格,基本能看出些优缺点:
DataUrl优点
- 图体积小的情况下,占用多个http请求,可以用css sprite(雪碧图),如下
【图标】可以用iconfont代替,【多色标题】是无法使用iconfont就可以使用雪碧图
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021022317271639.jpg
多色标题(这个是不能用iconfont方式)
- 当图片资源不能用的时候,如微信小程序的wcss结构里 background不能使用图片路径,可以用DataUrl
- 服务器端动态生成的图片,如分销二维码
DataUrl缺点
- 从上面表格可以看出,100kb的图片转为base64,文件体积138kb,增加了30%多
其他前提相同,强刷30次大致数值如下:从CPU和内存的增长上可以看出
①变量:img+DataUrl
②img+图片路径
以上的实测是想验证下其他文章描述的情况:“使用Data URL方式的Demo在渲染时会比不使用 多消耗53%左右的CPU资源,内存多出4倍左右,耗时平均高出24.6倍 。”
基于一个图片的dataurl和图片路径的区别并不明显,这里只先说明一个方向和思路,大致的优劣点已经可以在日常中选择使用,后续会继续更新多个图片路径和多个dataurl的情况下的情况