android中的大一般都要經過壓縮才顯示,不然容易發生oom,一般我們壓縮的時候都只關注其尺寸方面的大小,其實除了尺寸之外,影響乙個占用空間的還有其色彩細節。
開啟android.graphics.bitmap類裡有乙個內部類bitmap.config類,在bitmap類裡createbitmap(intwidth, int height, bitmap.config config)方法裡會用到,開啟個這個類一看
列舉變數
public static final bitmap.config alpha_8
public static final bitmap.config argb_4444
public static final bitmap.config argb_8888
public static final bitmap.config rgb_565
一看,有點蒙了,alpha_8, argb_4444,argb_8888,rgb_565 到底是什麼呢?
其實這都是色彩的儲存方法:我們知道argb指的是一種色彩模式,裡面a代表alpha,r表示red,g表示green,b表示blue,其實所有的可見色都是右紅綠藍組成的,所以紅綠藍又稱為三原色,每個原色都儲存著所表示顏色的資訊值
說白了就alpha_8就是alpha由8位組成
argb_4444就是由4個4位組成即16位,
argb_8888就是由4個8位組成即32位,
rgb_565就是r為5位,g為6位,b為5位共16位
由此可見:
alpha_8 代表8位alpha點陣圖
argb_4444 代表16位argb點陣圖
argb_8888 代表32位argb點陣圖
rgb_565 代表8位rgb點陣圖
位圖位數越高代表其可以儲存的顏色資訊越多,當然影象也就越逼真。
例子:bitmap bg = bitmap.createbitmap(width, height, config.argb_8888);
android bitmap壓縮幾種色彩詳解
android中的大一般都要經過壓縮才顯示,不然容易發生oom,一般我們壓縮的時候都只關注其尺寸方面的大小,其實除了尺寸之外,影響乙個占用空間的還有其色彩細節。開啟android.graphics.bitmap類裡有乙個內部類bitmap.config類,在bitmap類裡createbitmap ...
android bitmap記憶體處理
程式中一次性載入多張,而且還要適應螢幕,這就造成記憶體緊張,程序會出現oom,特別是現在的手機解析度高達1920 1024,一張占用記憶體高達8m,首先要獲取原的高寬 減少記憶體 bitmapfactory.options options new bitmapfactory.options opti...
Android Bitmap應用收集
bitmap代表一張位圖,副檔名可以是.bmp或者.dib。點陣圖是windows標準格式圖形檔案,它將影象定義為由點 畫素 組成,每個點可以由多種色彩表示,包括2 4 8 16 24和32位色彩。例如,一幅1024 768解析度的32位真彩,其所佔儲存位元組數為 1024 768 32 8 307...