【性能优化】pc端与移动端图片性能优化

news2024/11/15 17:52:04

目录

优化方向

优化方式

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文件体积更小,可压缩性更高

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73664.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计Django游戏交易平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

NEMUCOD病毒jse样本分析

该病毒使用微软的JScript编写,能够直接运行在Windows操作系统之上,采用了加密和混淆手段对抗监测,可检测是否运行在虚拟机中和系统中是否存在分析工具,可感染可移动存储介质,主要功能为下载器。CC服务器为185.159.82.1…

牛客网刷题【BC114\BC123\BC125\BC13\BC93\BC95】

目录 一、BC114 小乐乐排电梯 二、BC123 小乐乐找最大数 三、BC125 小乐乐转换成绩 四、BC13 ASCII码 五、BC93 统计数据正负个数 六、BC95 最高分与最低分之差 一、BC114 小乐乐排电梯 #include <stdio.h>int main() {int n0;scanf("%d",&n…

Aspose.Words 22.12.0 for NET cRACK

.NET API 来处理 Word 文件 无需使用外部软件即可创建、编辑、呈现 Word 文档并将其转换为多种格式。您还可以生成报告以可视化数据。 .NET 的 Aspose.Words Aspose.Words for .NET 是一种高级文档处理 API&#xff0c;可对各种文件格式执行广泛的管理和操作任务。API 支持…

(文章复现)5.基于BP神经网络的风电功率预测方法(MATLAB程序)

联系方式&#xff1a;2645521500 复现文章&#xff1a; 基于BP神经网络的风电功率预测方法——刘立群&#xff08;2021年&#xff09; 摘要&#xff1a; 风电功率预测结果的准确性&#xff0c;不仅关系到风力发电厂的综合运行效率&#xff0c;也与区域运行成本具备直接联系…

Java面试-MySQL事务专题

链接&#xff1a;https://pan.baidu.com/s/1mw4sej8BzdHNCkaib4ebeg 提取码&#xff1a;j2qu 1 事务的四个特点是什么&#xff1f;他们是如何实现的&#xff1f; ACID-原子性、一致性、隔离性和持久性。 ACID原理原子性undolog一致性通过其他三个特性来实现的隔离性锁MVCC持…

java计算机毕业设计ssm校园志愿者服务系统u7thd(附源码、数据库)

java计算机毕业设计ssm校园志愿者服务系统u7thd&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xf…

初学者必刷题---PTA基础编程题目集第一期

&#x1f680;write in front&#x1f680; &#x1f4dd;个人主页&#xff1a;认真写博客的夏目浅石. &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​ &#x1f4e3;系列专栏&#xff1a;初学者必刷题—鹏哥推荐 &#x1f4ac;总结&#xff1a;希望…

STC 51单片机62—— Proteus仿真多位数码管稳定显示 不抖动

#include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int //uchar code dis_code[]{0x80,0xf8,0x82,0x92,0x99,0xb0,0xa4,0xf9}; //共阳数码管段码表 //共阴字形码表【实验】数码管实验时&#xff0c;一定要将点阵模块跳…

玩转系统|如何Windows Update自动更新

目录 为什么要关闭Windows自动更新&#xff1f; 1、防止在工作时间突然中断计算机。 2、应用程序兼容性变差。 可能会导致系统损坏。 关闭Windows自动更新的几种方法&#xff01; 方法一&#xff1a;通过Windows设置关闭Windows自动更新 方法二&#xff1a;通过组策略编…

如何查看浏览器页面缓存内容(代码控制台)【详细教程】

如何查看浏览器页面缓存内容——代码&控制台知识调用前言引入控制台输入代码查看在控制台application查看知识调用 文章可能需要用到的知识&#x1f525;&#x1f525;&#x1f525;浏览器缓存有哪些&#xff08;通用缓存有哪些&#xff09; 前言引入 浏览器有多种缓存&a…

密码重置、API调用、远程命令,Zabbix用户必知的几个技巧

作者&#xff1a;张思德&#xff0c;Zabbix社区签约专家&#xff0c;2017-2022Zabbix中国峰会讲师 前言 Zabbix版本迭代很快&#xff0c;而且每个版本都会有很多新特性&#xff0c;有时有一个不起眼的小的更新却造成很多老司机翻车&#xff0c;以下主要介绍Zabbix几个常见的知识…

3.1.1 积分和微分放大器

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…

ADI Blackfin DSP处理器-BF533的开发详解8:Timer定时器的驱动和应用(含源代码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 接口功能介绍 ADSP-BF53x 上有 3 个通用定时器&#xff0c;每个定时器有三种模式&#xff1a; 脉冲宽度调制模式&#xff08;PWM_OUT&#xff0…

【信号处理】基于遗传算法的噪声图像的边缘检测(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 图像的边缘是指图像灰度急剧发生变化的不连续的地方&#xff0c;主要存在于目标和目标、背景和目标、不同色彩的区域之间&#…

最新版SwitchHosts下载安装教程

文章目录前言一、SwitchHosts下载1.第一步2.第二步二、常见问题前言 SwitchHosts开源免费&#xff0c;社区稳定维护&#xff0c;特别香~ 一、SwitchHosts下载 https://github.com/oldj/SwitchHosts 1.第一步 打开上面的官网&#xff0c;之后往下面滑动&#xff0c;看到Swit…

Centos7 部署 VerneMQ 高可用集群

1.简要说明 1.1概述 VerneMQ首先是一个MQTT发布/订阅消息代理&#xff0c;它实现了OASIS行业标准MQTT协议&#xff1b;但是&#xff0c;VerneMQ还旨在通过提供一组与可扩展性&#xff0c;可靠性和高性能以及操作简单性相关的独特功能&#xff0c;将消息传递和物联网应用程序提…

Dynamics 365Online 应用内消息通知(In-app notifications)

应用内通知其实一直是个刚需&#xff0c;但D365一直缺乏这个功能&#xff0c;如果客户有需求&#xff0c;我们只有通过自定义的方式实现&#xff0c;好在V9以后顶部栏可以自定义了&#xff0c;可以自己加Icon&#xff0c;实现通知的样式。 好在2022WAV1后&#xff0c;D365终于加…

喜讯丨上海首家代谢组学技术研究民非机构-上海百趣代谢组学技术研究中心获批成立

经上海市科学技术委员会批复同意组建&#xff0c;由上海市民政局审批&#xff0c;上海百趣代谢组学技术研究中心正式成立。上海百趣代谢组学技术研究中心将联合科研单位、相关企业&#xff0c;共同推动代谢组学技术研究在检测方法、分析方法、检测仪器和数据库标准化方面的进步…

景联文科技:一文详解!如何选择一家专业的数据标注公司?

“近年来&#xff0c;人工智能发展速度迅速&#xff0c;三大决定性因素是&#xff1a;算法、算力和数据&#xff0c;数据是人工智能的基础。数据标注的精确度是行业内的一大重点&#xff0c;随着人工智能技术的不断成熟&#xff0c;对场景化数据的精确度要求将越来越高&#xf…