當前位置:首頁 » 圖片大全 » 600dpi的圖片占據多少內存
擴展閱讀
手繪紅玫瑰唯美圖片 2025-07-05 16:57:29

600dpi的圖片占據多少內存

發布時間: 2023-09-12 11:10:51

『壹』 一張圖片佔用多少內存

https://www.cnblogs.com/popfisher/p/6959106.html

https://www.cnblogs.com/dasusu/p/9789389.html

            (以上兩篇博客很不錯)

我們先假設我們有一張圖片時 600 * 800 的,圖片佔用空間大小假設是 100KB 。

圖片內存大小跟佔用空間大小有什麼關系?

佔用空間的大小不是圖片佔用內存的大小,一些初學者可能會誤解一下。佔用空間是在磁碟上佔用的空間,內存大小是載入到內存中佔用的內存大小。兩個只是單位是一樣的,本質不是一個概念。

一張圖片到底佔用多少內存呢?

1. 圖片佔用內存的計算公式: 圖片高度 * 圖片寬度 * 一個像素佔用的內存大小

2. 所以上面的圖片佔用內存是: 800 * 600 * 4 byte = 1875KB = 1.83M 

當圖片放在 res 內的不同目錄中時,為什麼最終圖片載入進內存所佔據的大小會不一樣呢?

如果你們去看下Bitmap.decodeResource()源碼,你們會發現,系統在載入 res 目錄下的資源圖片時,會根據圖片存放的不同目錄做一次解析度的轉換,而轉換的規則是:

新圖的高度 = 原圖高度 * (設備的 dpi / 目錄對應的 dpi )

新圖的寬度 = 原圖寬度 * (設備的 dpi / 目錄對應的 dpi )

目錄名稱與 dpi 的對應關系如下,drawable 沒帶後綴對應 160 dpi:

所以,我們來看下序號 2 的實驗,按照上述理論的話,我們來計算看看這張圖片的內存大小:

轉換後的解析度:1080 * (240/160) * 452 * (240/160) = 1620 * 678

同一圖片,在同一台設備中,如果圖片放在 res 內的不同資源目錄下,那麼圖片佔用的內存空間是會不一樣的

同一圖片,放在 res 內相同的資源目錄下,但在不同 dpi 的設備中,圖片佔用的內存空間也是會不一樣的

圖片優化

所以,如果單從圖片本身考慮優化的話,也就只有兩個方向:

總結

最後,來稍微總結一下:

『貳』 如何照片設置成像素為300dpi或600dpi,大小為100K

准備材料:電腦、Photoshop修圖軟體

步驟:

1、首先下載並打開Photoshop修圖軟體,點擊「文件」選項。

『叄』 一張圖片所佔內存是如何計算的

Bitmap.Config 表示圖片像素類型,包括ALPHA_8、RGB_565、ARGB_4444、ARGB_8888
其中 A表示透明度;RGB分別是Red、Green、Blue,三種原色

1.在不考慮屏幕解析度和res文件夾解析度的情況下:

一張圖片(BitMap)佔用的內存=長 * 寬 * 每個像素點的大小

例如:一張圖片寬1080 ,高 452
那麼,這張圖片的大小按照這個公式應該是:1080 * 452 * 4B = 1952640B ≈ 1.86MB

2.考慮屏幕解析度和res文件夾解析度的情況下:
系統在載入 res 目錄下的資源圖片時,會根據圖片存放的不同目錄做一次解析度的轉換。

新長 = 原長 * (設備的 dpi / 目錄對應的 dpi )
新寬 = 原寬 * (設備的 dpi / 目錄對應的 dpi )

一張圖片(BitMap)佔用的內存= 新長 * 新寬 * 每個像素點的大小