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

时间:2021-11-25 22:42:51

原文链接: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)*图片的颜色模式,就是它所占的真实的内存

图片--android 图片占用内存与什么有关的更多相关文章

  1. Android Bitmap占用内存计算公式

    Android对各分辨率的定义 当图片以格式ARGB_8888存储时的计算方式 占用内存=图片长*图片宽*4字节 图片长 = 图片原始长 (设备DPI/文件夹DPI)  图片宽 = 图片原始宽(设备D ...

  2. Android之Fresco(facebook的强大Android图片加载的框架)

    Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络.本地存储和本地资源中加载图片.其中的Drawees可以显示占位符,直到图片加载完成.而当图片从屏幕 ...

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

    android 图片占用内存与什么有关 原文链接:http://blog.csdn.net/zjl5211314/article/details/7041813 在开发手机应用的时候,内存是有限的,那 ...

  4. Android中图片占用内存的计算

    Android中图片占用内存的计算 原文链接 http://blog.sina.com.cn/s/blog_4e60b09d01016133.html   在Android开发中,我现在发现很多人还不 ...

  5. 关于Android应用中图片占用内存浅谈

    从事过移动端应用开发的童鞋应该都清楚,内存是非常宝贵的资源.如果能很好的利用有限的内存,对应用性能的提升会有很大的帮助.在实际应用开发中图片内存占整个应用非常大的比重,我们只有了解图片是如何加载到内存 ...

  6. (转)Android中图片占用内存计算

    在Android开发中,我现在发现很多人还不会对图片占用内存进行很好的计算.因此撰写该博文来做介绍,期望达到抛砖引玉的作用.   Android中一张图片(BitMap)占用的内存主要和以下几个因数有 ...

  7. ANDROID开发之OOM:一张图片(BitMap)占用内存的计算 图片内存优化

    Android中一张图片(BitMap)占用的内存主要和以下几个因数有关:图片长度,图片宽度,单位像素占用的字节数. 一张图片(BitMap)占用的内存=图片长度*图片宽度*单位像素占用的字节数 注: ...

  8. 图片--Android加载图片导致内存溢出(Out of Memory异常)

    Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory  Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...

  9. Android 图片三级缓存之内存缓存(告别软引用(SoftRefrerence)和弱引用(WeakReference))

    因为之前项目同事使用了图片三级缓存,今天整理项目的时候发现同事还是使用了软引用(SoftRefrerence)和弱引用(WeakReference),来管理在内存中的缓存.看到这个我就感觉不对了.脑海 ...

随机推荐

  1. Unity3d 脚本基础 思维导图

    盘点下Unity的脚本知识.

  2. Mssql中一些常用数据类型的说明和区别

    Mssql中一些常用数据类型的说明和区别 1.bigint 占用8个字节的存储空间,取值范围在-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,37 ...

  3. Tensorflow学习笔记1:Get Started

    关于Tensorflow的基本介绍 Tensorflow是一个基于图的计算系统,其主要应用于机器学习. 从Tensorflow名字的字面意思可以拆分成两部分来理解:Tensor+flow. Tenso ...

  4. Mac上好用软件集锦

    1. 代码编辑器 TextMate 开源免费 2. 图像处理工具  Seahorse 开源免费 3. 远程Windows桌面连接工具 CoRD 开源免费 4. 办公软件 LibreOffice 开源免 ...

  5. CentOS安装vim

    VMware下CentOS安装成功后,默认自带vi,但vi功能没vim丰富.以下为CentOS中安装vim: 用yum产看源中的vim安装包: [xi@localhost ~]$ yum search ...

  6. Js操作Select大全(取值、设置选中)

    Js操作Select是很常见的,也是比较实用的. jquery操作select(取值,设置选中) 每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<s ...

  7. &lbrack;FOJ 1752&rsqb; A&Hat;B mod C

    Problem 1752 A^B mod C Accept: 750    Submit: 3205Time Limit: 1000 mSec    Memory Limit : 32768 KB   ...

  8. 说说API的防重放机制

    说说API的防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果 ...

  9. Spark之MapReduce原理

    参考http://www.cnblogs.com/wuyudong/p/mapreduce-principle.html MapReduce   我们来拆开看: Mapping(映射)对集合里的每个目 ...

  10. 大明A&plus;B

    大明A+B 时间限制: 1 Sec  内存限制: 32 MB 以内加法的那个"小明"了,现在他甚至会任意长度的正小数的加法.现在,给你两个正的小数A和B,你的任务是代表大明计算出A ...