博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】CSS雪碧图会占用太多浏览器内存吗
阅读量:6245 次
发布时间:2019-06-22

本文共 648 字,大约阅读时间需要 2 分钟。

可能是某篇的关系,今天有人来说,使用雪碧图,内存会暴涨的。。。这个问题讨论的也蛮多了,那,到底,使用雪碧图后,会占用很多内存吗?

实验:

下午做了个简单的实验,用99个128px*128px的png 32图片,写了三个页面来做测试:

然后分别用Chrome、IE6/7/8/9、Firefox做测试,具体的数据我这里就不详细列了,感兴趣的话可以自测一下。

结论:

在各浏览器下,三个页面占用的内存相当,只有很小的差异,Chrome下,雪碧图占用内存略少一点点儿,IE下略多一点点儿。。。

包括mouseover等交互事件,对浏览器内存也没什么影响,只是会影响CPU占用率——这个即便纯色背景色都会在事件触发时提高CPU占用率的。。。

所以,雪碧图的真正问题是利用率的问题,如所说,如果你雪碧图中合并了10个icon,结果实际只使用了3个,那才是浪费了内存。

其实,图片在浏览器中占用的:透明的图片,内存占用是长*宽*4,不透明图片占用是长*宽*3,比如第三个例子中的雪碧图大小是12770*128,它在浏览器中占用内存是12770*128*4=6.23MB左右。

所以,还是建议读一下之前翻译的《》。

总结:

  • 雪碧图的尺寸要优化好,空白尽可能少;
  • 及时清理不再使用的图片;
  • 将雪碧图权重做分离,全局/框架级的和局部/模块级的分离开;
  • 缓存设定和更新频率匹配,如果将每天更新的雪碧图的缓存设置到一个月很容易出问题的。

PS:自从用了功能后,再也不用为制作/更新雪碧图操心了。。。

原文来至:

转载地址:http://ehoia.baihongyu.com/

你可能感兴趣的文章
#505. 「LibreOJ β Round」ZQC 的游戏
查看>>
#iOS问题记录# UITextview富文本链接,禁止长按事件
查看>>
深度网络实现手写体识别
查看>>
Python Module_subprocess_调用 Powershell
查看>>
MVC原理图解
查看>>
c基础
查看>>
nodejs 平台的 webscoket 的实现
查看>>
JDK1.8源码(三)——java.util.HashMap
查看>>
给你1000万你可以把生活过的更好吗?
查看>>
<jsp:include page>和<%@ include file%>的区别
查看>>
flash 类和对象的关系
查看>>
保护模式 宏观理解
查看>>
Hat’s Words
查看>>
has_many :through VS has_and_belongs_to_many
查看>>
比较JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket
查看>>
正则表达式介绍及案例分享
查看>>
【BZOJ】2125: 最短路 圆方树(静态仙人掌)
查看>>
【BZOJ】4530: [Bjoi2014]大融合
查看>>
线代之高斯消元
查看>>
java-循环的应用环境以及数组的创建
查看>>