android 图片占用内存与什么有关

android 图片占用内存与什么有关 android

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

在开发手机应用的时候,内存是有限的,那使用的时候,就要合理的运用和释放。
那么最占用内存的,估计也是就图片了,有时候,须要在加载一些大量的图片。可是,每每回报内存溢出的错误。看看图片的大小呢,也 blog

不大,也就20KB左右,为何仍是很占内存呢? 图片

原来,将图片转成bitmap 来使用的时候,图片所占的内存,不是它原来的大小,是与 图片的宽度,高度,和颜色深度有关系。 内存

图片实际占用的内存大小 =  width  *  height  *   颜色深度 开发

颜色深度: get

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

A R G B
透明度 红色 绿色 蓝色 map

其实这都是色彩的存储方法:咱们知道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)*图片的颜色模式,就是它所占的真实的内存。

相关文章
相关标签/搜索