android 圖片占用內存與什么有關


android 圖片占用內存與什么有關

原文鏈接:http://blog.csdn.net/zjl5211314/article/details/7041813

在開發手機應用的時候,內存是有限的,那使用的時候,就要合理的運用和釋放。
那么最占用內存的,估計也是就圖片了,有時候,需要在加載一些大量的圖片。但是,往往回報內存溢出的錯誤。看看圖片的大小呢,也

不大,也就20KB左右,為什么還是很占內存呢?

原來,將圖片轉成bitmap 來使用的時候,圖片所占的內存,不是它原來的大小,是與 圖片的寬度,高度,和顏色深度有關系。

圖片實際占用的內存大小 =  width  *  height  *   顏色深度

顏色深度:

Bitmap.Config ALPHA_8  
Bitmap.Config ARGB_4444  
Bitmap.Config ARGB_8888  
Bitmap.Config RGB_565

A R G B
透明度 紅色 綠色 藍色

其實這都是色彩的存儲方法:我們知道ARGB指的是一種色彩模式,里面A代表Alpha,R表示red,G表示green,B表示blue,其實所有的可

見色都是右紅綠藍組成的,所以紅綠藍又稱為三原色,每個原色都存儲着所表示顏色的信息值

Bitmap.Config  ARGB_4444              每個像素  占四位 
Bitmap.Config  ARGB_8888    32        每個像素  占八位
Bitmap.Config  RGB_565      16        R占5位    R占6位     B占5位    沒有透明度(A)

說白了就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位圖

eg: 一張20KB的圖片,寬1024(px)*高1024(px)*圖片的顏色模式,就是它所占的真實的內存。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM