安卓圖片內存大小

      最近在研究圖片相關的一些問題;做了一些整理和分析

      常規的去百度的時候,更多的說是 圖片大小是: height*width*4b但是這個是對的嗎?

      這個邊就對res文件下面的mimap做一個調研;

      首先來一個列表數據整理吧

      

密度 mdpi hdpi xhdpi xxhdpi xxxhdpi
密度值 120 240 320 480 640

 

 

 

      需要看一下這個表很重要的;這張圖片的大小是1024*768  電腦裏面顯示大小114.30k

安卓版本(5.1,7.1,8.1) 目錄文件 佔據內存大小(B)
安卓版本(5.1,7.1,8.1) mdpi

28311552 

安卓版本(5.1,7.1,8.1) hdpi

12582912

安卓版本(5.1,7.1,8.1) xhdpi

7077888 

安卓版本(5.1,7.1,8.1) xxhdpi

3145728 

安卓版本(5.1,7.1,8.1) xxxhdpi

1769472  

 

 

 

 

 

 

 

那麼先按height * width * 4b 爲什麼是*4b呢?因爲系統默認是ARGB_8888 所以按4B來計算;

那麼回到我們的問題 1024 * 768 * 4 (B) = 3145728 (B)

那麼和上面任意一個對的上嗎?對不上的;

那麼爲什麼呢?  

我們再去拿一個東西;dpi這個東西(對應手機,命令鍵是:adb shell wm density)獲取到的dpi是480

那麼  1024 * (480/120(mdpi))*768 * (480/120(mdpi))*4 = 28311552 B

其他的大家可以自行驗證;

那麼奇怪的是爲什麼我這邊寫的只有9.0以下的版本

因爲在測試9.0以及9.0之後的版本,無論放在哪一個目錄下面

得出的結論就是  1024 * 768 * 4 (B) = 3145728 (B)這個需要看一下源碼才能知道,因爲源碼級別在C裏面所以這個待研究

所以以上,我們可以大概進行估算我們的圖片大小大概應該是多大;

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章