2012-12-24 66 views
2

在浏览器下载图像之后,我是否正确地认为即使图像使用css缩小了大小,内存占用量仍然与在浏览器内存中保持不变的图像相同?减少内存中的图像大小

如果是这样,有没有办法实际上减少图像的大小,以便它占用更少的内存,也不会影响显示性能太多在滚动/ paning操作?

ps:这个问题对于一个“传统”网页可能没什么意义,但对于显示许多不同大小图像的单页网络应用程序来说非常重要(至少对我而言),因为页面和浏览器内存在显示新页面时不会“刷新”。

PS2:我没有访问服务器,因此服务器端大小调整是一个没有去

+0

即使是一个单页的应用程序,这应该是一个非问题绑定。确保正确删除不需要的DOM元素,并且您应该没问题。 – user123444555621

回答

1

CSS比例通常不减少内存占用。我认为它实际上可能会增加它,因为浏览器必须缓存/缓存缩放版本图像的原始版本。

我认为你可以使用Canvas API来有效地绘制较小版本的图像并使用它。

也看看this question

另外,如果您知道图像的有效最终大小,您当然可以在网络服务器上执行此操作,并缓存较小的版本。这应该提供一定程度的向下兼容性。

+0

如果我使用画布产生一个较小的图像是不是与CSS相同的问题,即两个版本的内存中的相同图像? –

+0

如果你没有在任何地方引用“原始”图像,那是从页面的DOM开始,它最终应该被垃圾收集。 – BastiBen

2

你可以重新调整服务器端的东西,如ImageMagick的http://www.imagemagick.org/script/index.php 这对许多不同的编程语言

+0

我没有访问服务器的权限,所以服务器端调整大小是不可能的。 (编辑我的问题) –