引用链接

结果分析

同一张图片,放在不同目录下,会生成不同大小的Bitmap

Bitmap的长度和宽度越大,占用的内存就越大

图片在硬盘上占用的大小,与在内存中占用的大小完全不一样

下面我会对上面几个问题一一解释。

我们以放在drawable文件夹下面的图片为例,加载到内存之后,2160*3840大小的Bitmap占用的内存为

2160 * 3840 * 4 = 3317,7600 byte = 3,2400kb = 31.640625 M

所以drawable文件夹下的App内存占用 = 原始内存8.31M+图片内存31.64M= 39.95M ,与实际内存占用39.88M存在0.1755%的误差,在误差范围之内。

先简单解释一下上面的计算公式,长*宽是图片的像素总数,乘以4则是因为一个像素占用A、R、G、B四个通道,每个通道占用8位,所以描述一个像素需要32位即4个字节。

一个颜色通道需要8位描述,2^8=256,所以每个颜色通道就有256种状态。如果把彩色图转化成灰阶图的话,也有256种状态分割从白色到黑色之间的过渡颜色。

当然,也并不是所有格式的图片每个像素占用4字节,这和图片在加载时设置的Bitmap.Config有关,默认的是Bitmap.Config.ARGB_8888,其他类型如下:

Bitmap.Config.ALPHA_8

此时图片只有alpha值,没有RGB值

A 占 8bit = 1字节 = 1像素

Bitmap.Config.ARGB_4444</

Android文件夹占用空间分析,关于Android中图片大小、内存占用和drawable文件夹研究分析...相关推荐

  1. Android文件夹占用空间分析,关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析...

    从上一篇文章<Android屏幕适配全攻略>写完之后,经常会有朋友问我这个问题:"能不能一个App只提供一套切图适应所有的分辨率呢?"我觉得有必要写一篇文章来研究一下这 ...

  2. 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析

    从上一篇文章<Android屏幕适配全攻略>写完之后,经常会有朋友问我这个问题:"能不能一个App只提供一套切图适应所有的分辨率呢?"我觉得有必要写一篇文章来研究一下这 ...

  3. python图片保存为txt文件_python实现对文件中图片生成带标签的txt文件方法

    在深度学习中经常需要生成带标签的图片名称列表,xxxlist.txt文件,下面写一个简单的python脚本生成该文件列表. import os def generate(dir,label): fil ...

  4. linux 省内存的桌面,Linux_在Linux中可视化显示内存占用情况的方法,物理内存不足对Linux桌面系统 - phpStudy...

    在Linux中可视化显示内存占用情况的方法 物理内存不足对Linux桌面系统和服务器系统的性能影响都很大.当你的计算机变慢时,要做的第一件事就是释放内存.尤其是在多用户环境以及执行关键任务的服务器环境 ...

  5. Linux中buff/cache内存占用过高解决办法

    Linux中buff/cache内存占用过高解决办法 在Linux系统中,我们经常用free命令来查看系统内存的使用状态.在一个centos7的系统上,free命令的显示内容大概是这样一个状态: 这个 ...

  6. android 常用机型尺寸_Android中图片大小与各种hdpi

    前言 大家都知道开发android会涉及到UI的涉及,一般都是给到通用的分辨率进行设计,但是具体适配是需要代码控制的,由于网上分辨率dp的文章实在太多,对这些不了解的朋友可以去自行百度,这里主要是对U ...

  7. Android聊天界面中图片大小的合理缩小算法

    应用场景 我们知道在聊天界面中,发送显示图片是不可缺少的一部分,这个时候就会面临对于图片显示控件的缩小处理.当然如果是简单的给ImageView设置一个固定的值的话,这篇文章就没有意义了.我们要做的就 ...

  8. Android 自定义RadioButton 实现文字上下左右方向的图片大小设置

    好久没有更新博客,写这篇技术时,感觉很多东西生疏了好多.于是心有感慨:我们做技术的,要是长时间不搞技术,那就是被技术搞!所以攻守之间,大家谨慎思量. 冬天已过,放假出去玩耍时,看到两旁嫩嫩的树叶,想起 ...

  9. python01g内存读取10g文件并排序_将大文件逐行读取到Python2.7中时的内存使用

    堆栈溢出, 我正在从事一个涉及一些大文件(10-50Gb)的基因组学项目,我想将这些文件读入Python 2.7进行处理.我不需要将整个文件读到内存中,而是简单地逐行读取每个文件,执行一个小任务,然后 ...

最新文章

  1. ZooKeeper学习笔记1-----------安装启动
  2. 日常积累的一些linux和运维的东西 [转]
  3. linux设置用户密码、查看linux用户信息、root用户管理普通用户(passwd命令使用)
  4. PostgreSQL 与 MySQL 常用命令对照
  5. Knn原理及Python实现、数据展示
  6. python 日志 logging模块(详细解析)
  7. python类的应用_如何剖析python应用程序的类方法?
  8. spark rdd读取文件
  9. 拓端tecdat|R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口
  10. Delphi Access violations 问题的解决之道[转]
  11. 易语言大漠插件模块制作设置字库及OcrEx识别字符串
  12. HTTP协议格式、URL格式及URL encode
  13. 桑佛德大学计算机科学,桑佛德大学
  14. 算法很美 笔记 3.查找和排序
  15. 控制反转和依赖注入的个人理解
  16. JRebel-JVMTI [FATAL] Couldn‘t write to C:\Users\【完美解决方案】
  17. Win11热键冲突怎么解决?
  18. 在真正的短信网络钓鱼攻击内部
  19. printf及无符号型整数
  20. Kafka消费组rebalance原理

热门文章

  1. ”半越狱“的商业逻辑
  2. 科技爱好者周刊:第 94 期
  3. think PHP5.0小程序,微信小程序ofo小黄车+thinkphp5.0打造全栈应用
  4. Biome-BGC生态系统模型、casa模型
  5. H5、CSS3照片墙的实现
  6. 黑马学成在线-媒资管理
  7. 真实案例看三鹿奶粉背后的行业潜规则
  8. 在Ubuntu环境下搭建Git服务器
  9. Delphi XE2 compiler performance
  10. heic图片转换png格式图片