2012-12-24 156 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

我沒有訪問服務器的權限,所以服務器端調整大小是不可能的。 (編輯我的問題) –