美文网首页
图片内存大小计算

图片内存大小计算

作者: _Youngjim | 来源:发表于2017-12-28 11:02 被阅读0次

图片内存大小图片文件占用空间大小是没有必然关系,但是一般来说图片文件大小,图片内存大小就越大。占用空间是在磁盘上占用的空间,内存大小是加载到内存中占用的内存大小。

现在假如有一个图片是600*800的,文件大小100KB。

图片内存大小的计算公式是 :图片高度 * 图片宽度 * 一个像素占用的字节数

也就是 600 * 800 * 4 byte = 1875KB = 1.83M

而一个像素占用的字节数与图片的编码格式(或者叫bitmap在内存中的存储形式)有关

编码格式 解释 备注
ALPHA_8 用一个8位存储alpha 所以占用一字节
ARGB_4444 alpha red green blue 各4位 所以占用两字节 因为质量太差不被推荐用
ARGB_8888 alpha red green blue 各8位 所以占用四字节 默认使用这种方法
RGB_565 red 5位 green 6位 blue5位 两字节 如果不涉及到透明度,用这种节省一半内存,不过又好像在4.0以上不能使用,再考究

自然是位数越多显示的效果越好

图片所在目录对内存的影响?

在Android中,图片的存放目录和手机的屏幕密度影响图片最终的大小,举个例子:

假设我们的图片放到xhdpi目录下,那么我们本文中的图片占用的内存大小如下:

屏幕密度为2的设备:800 * 600 * 4byte = 1.83M

屏幕密度为3的设备:800 * 1.5 * 600 * 1.5 * 4byte = 1.83 * 2.25M = 4.12M

所以,计算图片占用内存大小的时候,要考虑图片所在的目录跟设备密度,这两个因素其实影响的是图片的高宽,android会对图片进行拉升跟压缩。

也有说和目录无关还需考究

相关文章

  • 图片内存大小计算

    图片内存大小和图片文件占用空间大小是没有必然关系,但是一般来说图片文件大小,图片内存大小就越大。占用空间是在磁盘上...

  • 面试不会的

    教育机构: 如何计算图片内存大小 多线程加锁的本质 为什么要https对称加密 小公司 15-16K 如何打包自己...

  • Android 中图片的内存大小计算

    一、计算机是如何表示图片的 首先我们先了解一下计算机中图片格式, 百度一下你会发现图片有如下格式:bmp,jpg,...

  • android图片计算在内存大小

    参考https://blog.csdn.net/guolin_blog/article/details/50727...

  • 如何计算Java对象所占内存的大小

    摘要 本文以如何计算Java对象占用内存大小为切入点,在讨论计算Java对象占用堆内存大小的方法的基础上,详细讨论...

  • 如何计算Java对象所占内存的大小

    摘要 本文以如何计算Java对象占用内存大小为切入点,在讨论计算Java对象占用堆内存大小的方法的基础上,详细讨论...

  • Android高效加载图片系列(1)如何避免OOM?

    写在前面其实这篇文章也是很多图片加载框架的基本原理。从本篇文章你将get到:1、如何计算一张图片所占用的内存大小2...

  • Glide使用

    图片所占内存的大小如何计算?比如图片是565格式的,一个像素点占2个字节,所占的内存大小为: 如果是8888格式的...

  • 计算对象内存

    定义基本数据类型内存大小 定义计算类 使用

  • iOS alloc 流程

    instanceSize 计算内存大小 calloc 申请开辟内存 initInstanceIsa 指针关联对象

网友评论

      本文标题:图片内存大小计算

      本文链接:https://www.haomeiwen.com/subject/zasmgxtx.html