Android中圖片是以bitmap形式存在的,那么bitmap所占內(nèi)存,直接影響到了應(yīng)用所占內(nèi)存大小,首先要知道bitmap所占內(nèi)存大小計算方式:
創(chuàng)新互聯(lián)公司公司2013年成立,先為蘆溪等服務(wù)建站,蘆溪等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為蘆溪企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。圖片長度 x 圖片寬度 x 一個像素點(diǎn)占用的字節(jié)數(shù)
以下是圖片的壓縮格式:
其中,A代表透明度;R代表紅色;G代表綠色;B代表藍(lán)色。
ALPHA_8
表示8位Alpha位圖,即A=8,一個像素點(diǎn)占用1個字節(jié),它沒有顏色,只有透明度
ARGB_4444
表示16位ARGB位圖,即A=4,R=4,G=4,B=4,一個像素點(diǎn)占4+4+4+4=16位,2個字節(jié)
ARGB_8888
表示32位ARGB位圖,即A=8,R=8,G=8,B=8,一個像素點(diǎn)占8+8+8+8=32位,4個字節(jié)
RGB_565
表示16位RGB位圖,即R=5,G=6,B=5,它沒有透明度,一個像素點(diǎn)占5+6+5=16位,2個字節(jié)
我是用的小米手機(jī)2s來測試的,從sd卡取出一個照片,如下所示:
bit = BitmapFactory.decodeFile(Environment .getExternalStorageDirectory().getAbsolutePath() + "/DCIM/Camera/test.jpg"); Log.i("wechat", "壓縮前圖片的大小" + (bit.getByteCount() / 1024 / 1024) + "M寬度為" + bit.getWidth() + "高度為" + bit.getHeight());