我知道PNG圖像被壓縮,並作爲UIImage加載到UIImageView時,他們佔用更多的內存,然後原始文件。這是否也適用於JPG圖像?JPG圖像內存佔用UIImageView
1
A
回答
6
簡答:是的。
長的答案:JPEG是一個有損壓縮方案,可以壓縮圖像,使它們的幅度小於原始位圖的數量級。 PNG是一種無損壓縮方案,因此無法實現與JPEG一樣好的壓縮比。
因爲這個原因,一個非常小的JPEG文件可以在解壓時膨脹到巨大的尺寸,比任何可比的PNG文件大得多。
但是,您需要注意的是,一旦圖像作爲位圖加載到內存中,無論加載哪種類型的文件,它都會消耗可預測的內存量。
這是因爲位圖圖像每個像素使用精確的內存量(實際上,對於標準的32位圖像,每像素32位)並不令人意外。因此,您可以通過將像素寬度乘以像素高度並乘以4(每個字節爲32/8位),輕鬆計算圖像所需的內存(假設它是32位圖像)。這將告訴你需要多少字節才能將圖像的位圖數據存儲在RAM中。
因此,一個640 x 480像素,32位圖像使用:640 * 480 * 4 = 1228800字節,剛剛超過一兆字節。使用此位圖作爲後備存儲的UIImage
對象將爲此添加少量開銷。
值得注意的是,iMac等使用的Apple 27英寸顯示器的分辨率爲2560 x 1440.這就需要14兆字節的RAM來存放桌面的位圖圖像!
相關問題
- 1. 更新UIImageView佔用太多內存
- 2. 圖像佔用太多內存
- 3. Java圖像佔用太多內存
- 4. Swift,更改圖像內存佔用
- 5. UIImageView UIScrollView HighRes圖像內存警告
- 6. Xcode處置內存 - 圖像佔用太多內存,不會釋放內存
- 7. 內存佔用
- 8. UIImageView + AFNetworking和保存圖像
- 9. 是否UIImageView緩存圖像?
- 10. UIImageView顯示UIImageView圖像UIImageView
- 11. UIImagePickerControllerSourceTypeCamera佔用內存
- 12. MPMoviePlayerController佔用內存
- 13. CFNetwork在下載圖像時佔用大量內存
- 14. Java轉換圖像格式,佔用內存不足
- 15. Android翻新內容類型圖像/ jpg
- 16. 蘋果地圖內存佔用
- 17. Android視圖內存佔用空間
- 18. 將JPanel保存爲.jpg/.png圖像
- 19. android將canvas保存爲jpg圖像
- 20. 如何從內存中解碼JPG圖像?
- 21. IPhone UIImageView圖像
- 22. 的UIImageView內存使用
- 23. JPG圖像處理
- 24. Iphone - Masking JPG圖像
- 25. 如何用最少的內存佔用來保存大型分形圖像?
- 26. 像素值JPG圖像
- 27. UIImageView - 內存問題
- 28. 內存大小UIImageView
- 29. UIImageView內存問題
- 30. UIImagePicker相機內存警告停止圖像被設置爲UIImageView
很棒的回答。謝謝。 – RaffAl 2012-01-03 09:45:05
帶有視網膜顯示器的iPad(在2048年由1536年)將爲每個背景圖像使用12.5兆字節。 – 2012-01-03 16:46:00