图片的大小是以 MB 为单位的 内存中使用的是什么?或者它是一个不同的数字?
is the size of a picture in MB is whats used in memory? or is it a different number?
在我的 android 应用中,drawable 文件夹的总大小为 1.1 MB(28 张压缩图片)
这是我的图片将使用的最大内存量,还是计算方式不同?
谢谢:)
is that the MAX amount of memory that will be used by my pictures
没有
is it calculated differently?
是的。一般来说,根据图像的分辨率,每个图像每个像素将消耗 4 个字节的堆 space。 IOW,您是根据磁盘上压缩图像(PNG、JPEG)的大小来计算的。重要的是它们在内存中的大小。
计算还取决于给定的可绘制对象是按原样使用,还是基于密度转换进行了下采样或上采样。例如,如果您在 res/drawable-mdpi/
中有一个名为 foo.png
的 512x512 图像,并且您在 -xhdpi
设备上加载 R.drawable.foo
,并且没有其他版本的 foo.png
(例如,在 res/drawable-xhdpi/
中),然后 Android 将对您的 512x512 图像进行上采样,使其与 -xhdpi
设备上的屏幕尺寸相同。这会将图像变成 1024x1024 图像,使堆 space 使用量增加四倍。
在我的 android 应用中,drawable 文件夹的总大小为 1.1 MB(28 张压缩图片)
这是我的图片将使用的最大内存量,还是计算方式不同?
谢谢:)
is that the MAX amount of memory that will be used by my pictures
没有
is it calculated differently?
是的。一般来说,根据图像的分辨率,每个图像每个像素将消耗 4 个字节的堆 space。 IOW,您是根据磁盘上压缩图像(PNG、JPEG)的大小来计算的。重要的是它们在内存中的大小。
计算还取决于给定的可绘制对象是按原样使用,还是基于密度转换进行了下采样或上采样。例如,如果您在 res/drawable-mdpi/
中有一个名为 foo.png
的 512x512 图像,并且您在 -xhdpi
设备上加载 R.drawable.foo
,并且没有其他版本的 foo.png
(例如,在 res/drawable-xhdpi/
中),然后 Android 将对您的 512x512 图像进行上采样,使其与 -xhdpi
设备上的屏幕尺寸相同。这会将图像变成 1024x1024 图像,使堆 space 使用量增加四倍。