瀏覽器打開 3MB 的圖片為什麼佔用上 GB 的內存?

比較無聊的技術問題。真實遇到的但我又一點不懂……
從 Ubuntu 火狐谷歌圖片打開尺寸極大的圖片,系統卡死。
察看內存佔滿,之後緩衝區也用上了,兩邊 1.8GB、1.3GB。
我嘗試用 aria2c 下載了然後瀏覽器打開,加上系統1G的樣子。
好奇瀏覽器怎麼管理內存的。


為了便於你理解這個問題,我找了張504k的jpg圖片,存儲為bmp格式(基本上就是不壓縮的點陣圖了)變成11M。也就是說壓縮比是11000/504,21倍。jpg的典型壓縮比是10-100倍左右,3M jpg對應的點陣圖最大可能為300M。

這就是顯示3M jpg實際應該耗費的內存,當然還要算上firefox自己打開也會耗費的內存,比如為了支持一些特殊效果,比如快速的可以縮放圖片浪費的內存,上G是很正常的。


圖片文件大小 還有一個是圖片大小(面積)及位深 後者對內存影響比較大


推薦閱讀:

為什麼朋友說這張圖片細思極恐?
攝影師應該如何選擇圖片庫?
有什么关于鱼的好看的图片?
國內的攝影師們是否通過微利圖庫來售賣作品?
如何把這個人PS得陽光帥氣?

TAG:網頁瀏覽器 | 圖片 | 內存管理 |