压缩后,肉眼很难发现压缩后丢失了什么,每种图像格式都有自己的特点。为不同的业务场景选择不同的图像格式很重要。Jpg具有有损压缩、高压缩率和不支持透明性(大多数业务场景不需要透明图片)

Png支持透明性和浏览器兼容性。怎么记得?放屁是透明的。所以在需要透明的地方,使用PNG

Webp压缩更好,ioswebview中存在兼容性问题(在Android中很受支持)

Svg矢量图代码嵌入,相对较小(图片样式相对简单的业务场景)

针对真实的画面情况,丢弃一些相对不重要的颜色信息。

1: CSS sprite map将网站上使用的一些图片集成到单个图片中。其优点是减少了网站上的HTTP请求数量,但缺点是合并后的图片大小相对较大。如果图片未加载,整个页面将显示无法显示。看看Facebook的精灵地图。不是所有人都有一张照片,但他们都是开放的

2: Imageinline将图像的内容嵌入到HTML中,以减少网站的HTTP请求数量。淘宝在主页上发现了一个圆圈,没有看到这种不合适的大图片。因为它使用Base64数据,所以不会压缩图像等。效率没有webp高。但是对于小图标,它可以减少一个HTTP请求

3: 使用SVG绘制矢量地图,使用iconcont解决图标问题。请看阿里巴巴的iconcont。登录后即可下载

4: 在Android下使用webp的优点是具有更好的图像数据压缩算法,可以带来更小的图像体积,与肉眼识别图像质量没有差别;同时具有无损和有损压缩模式、α透明和动画等特点。JPEG和png的转换效果非常好,稳定统一。在淘宝网的主页上有很多网页格式的图片。

压缩后,图像从6KB压缩到2KB

我真的看不出有什么不同。图像压缩对性能优化有很大影响