Android文件夹占用空间分析,关于Android中图片大小、内存占用和drawable文件夹研究分析...
引用链接
结果分析
同一张图片,放在不同目录下,会生成不同大小的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文件夹研究分析...相关推荐
- Android文件夹占用空间分析,关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析...
从上一篇文章<Android屏幕适配全攻略>写完之后,经常会有朋友问我这个问题:"能不能一个App只提供一套切图适应所有的分辨率呢?"我觉得有必要写一篇文章来研究一下这 ...
- 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析
从上一篇文章<Android屏幕适配全攻略>写完之后,经常会有朋友问我这个问题:"能不能一个App只提供一套切图适应所有的分辨率呢?"我觉得有必要写一篇文章来研究一下这 ...
- python图片保存为txt文件_python实现对文件中图片生成带标签的txt文件方法
在深度学习中经常需要生成带标签的图片名称列表,xxxlist.txt文件,下面写一个简单的python脚本生成该文件列表. import os def generate(dir,label): fil ...
- linux 省内存的桌面,Linux_在Linux中可视化显示内存占用情况的方法,物理内存不足对Linux桌面系统 - phpStudy...
在Linux中可视化显示内存占用情况的方法 物理内存不足对Linux桌面系统和服务器系统的性能影响都很大.当你的计算机变慢时,要做的第一件事就是释放内存.尤其是在多用户环境以及执行关键任务的服务器环境 ...
- Linux中buff/cache内存占用过高解决办法
Linux中buff/cache内存占用过高解决办法 在Linux系统中,我们经常用free命令来查看系统内存的使用状态.在一个centos7的系统上,free命令的显示内容大概是这样一个状态: 这个 ...
- android 常用机型尺寸_Android中图片大小与各种hdpi
前言 大家都知道开发android会涉及到UI的涉及,一般都是给到通用的分辨率进行设计,但是具体适配是需要代码控制的,由于网上分辨率dp的文章实在太多,对这些不了解的朋友可以去自行百度,这里主要是对U ...
- Android聊天界面中图片大小的合理缩小算法
应用场景 我们知道在聊天界面中,发送显示图片是不可缺少的一部分,这个时候就会面临对于图片显示控件的缩小处理.当然如果是简单的给ImageView设置一个固定的值的话,这篇文章就没有意义了.我们要做的就 ...
- Android 自定义RadioButton 实现文字上下左右方向的图片大小设置
好久没有更新博客,写这篇技术时,感觉很多东西生疏了好多.于是心有感慨:我们做技术的,要是长时间不搞技术,那就是被技术搞!所以攻守之间,大家谨慎思量. 冬天已过,放假出去玩耍时,看到两旁嫩嫩的树叶,想起 ...
- python01g内存读取10g文件并排序_将大文件逐行读取到Python2.7中时的内存使用
堆栈溢出, 我正在从事一个涉及一些大文件(10-50Gb)的基因组学项目,我想将这些文件读入Python 2.7进行处理.我不需要将整个文件读到内存中,而是简单地逐行读取每个文件,执行一个小任务,然后 ...
最新文章
- ZooKeeper学习笔记1-----------安装启动
- 日常积累的一些linux和运维的东西 [转]
- linux设置用户密码、查看linux用户信息、root用户管理普通用户(passwd命令使用)
- PostgreSQL 与 MySQL 常用命令对照
- Knn原理及Python实现、数据展示
- python 日志 logging模块(详细解析)
- python类的应用_如何剖析python应用程序的类方法?
- spark rdd读取文件
- 拓端tecdat|R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口
- Delphi Access violations 问题的解决之道[转]
- 易语言大漠插件模块制作设置字库及OcrEx识别字符串
- HTTP协议格式、URL格式及URL encode
- 桑佛德大学计算机科学,桑佛德大学
- 算法很美 笔记 3.查找和排序
- 控制反转和依赖注入的个人理解
- JRebel-JVMTI [FATAL] Couldn‘t write to C:\Users\【完美解决方案】
- Win11热键冲突怎么解决?
- 在真正的短信网络钓鱼攻击内部
- printf及无符号型整数
- Kafka消费组rebalance原理