【性能优化】pc端与移动端图片优化篇
创始人
2024-03-26 17:58:59
0次

目录

优化方向:

优化方式

1.域名收敛

2.使用CDN节点

3.设置缓存

4.图片懒加载

5.用户图片上传限制

6.使用OSS服务压缩

7.使用OSS缩放

8.合成雪碧图

9.使用svg图片


在前端项目中图片的性能优化也有不少可以提升的方向

优化方向:

  • 减少请求数量
  • 缩短响应时间
  • 减少请求图片的大小

优化方式

1.域名收敛

由于浏览器对于同域名的请求并发有数量限制,特别在PC网页端,展示内容多,为了突破限制,静态资源采用子域名请求,例如京东商城的静态图片就采用了m.360buyimg.com的子域名

2.使用CDN节点

图片资源使用CDN加速,访问离自己最近的服务器上,提高访问速度

3.设置缓存

我们可以在图片消息头上面设置Cache-Control,max-age为失效时间

Cache-Control: max-age=31536000

例如京东商城的静态图片设置了允许缓存,且缓存时间为31536000,用户在二次访问商城时无需向服务器再发起请求,直接从内存缓存里读取图片

4.图片懒加载

控制资源请求数量,把有限的资源请求数量限制在用户可视区域

5.用户图片上传限制

防止用户上传过大的图片,在真实项目中曾经遇到用户上传一张图片几MB,甚至十几MB跑回来问为什么图片上时间加载不出来....

6.使用OSS服务压缩

如果图片静态资源是放在阿里云OSS储存中,我们还可以使用图片高级压缩文档。例如将JPEG格式的原图转换为HEIF格式,在不影响图片失真的情况下对图片资源大小尽可能的压缩

7.使用OSS缩放

当上传了一张图片时,我们可能有多个地方用到,比如说商品主图,商品列表图,商品缩略图,此时我们可以使用阿里云OSS的图片缩放功能,根据不同地方的展示不同比例的图片

如何实现老版图片按比例缩放_对象存储 OSS-阿里云帮助中心

8.合成雪碧图

在项目中使用的icon,小图等由于图片体积不大,我们可以把它们都合成雪碧图,减少http请求

例如:京东商城的几个不同颜色的箭头icon

https://misc.360buyimg.com/mtd/pc/index_2019/1.0.1/assets/sprite/tit_arrow/sprite.png

不同的标签icon:

https://misc.360buyimg.com/mtd/pc/index_2019/1.0.1/assets/sprite/content_btn/sprite.png

9.使用svg图片

有时候在项目中用的icon过于小,分辨率很低,在移动端高分辨率屏幕下看起来甚至会很模糊,一般大家可能会使用二倍图,但是还有一种方法就是使用svg图片,可以在放大缩小后都不会失真,svg文件体积更小,可压缩性更高

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...