zoukankan      html  css  js  c++  java
  • 图片--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)*图片的颜色模式,就是它所占的真实的内存

  • 相关阅读:
    多个表单如何同时验证
    vue+element 动态表单验证
    ‘Maximum call stack size exceeded’错误的解决方法
    select下拉框option的样式修改
    vue项目打包之后样式错乱问题,如何处理
    11_我拥有了属于自己的公众号了
    10_更改自己的ID
    001_Spring之xml的class的补全(eclipse)
    01_Navicat的快捷键学习
    web开发资源网站汇总
  • 原文地址:https://www.cnblogs.com/awkflf11/p/5049206.html
Copyright © 2011-2022 走看看