根据这里的这个答案,可以在不将整个图像加载到内存中的情况下height
和width
读取图像。
答案中还有一句话告诉
大约 512x384 的位图。将其加载到内存中会使用 0.75MB 而不是 12MB 的完整图像(假设位图配置 的ARGB_8888)。
我的问题是如何使用height
和width
计算图像的图像文件大小(或者我必须说内存使用情况),如上面的答案所示。另外,这个ARGB_8888
值是什么或如何获得它?
ARGB_8888 is a way of storing information about the pixels.
参考文档ARGB_8888
每个像素存储在 4 个字节上。
要计算图像的总可能大小,例如您使用的 512x384 示例,我们得到以下内容。
512 x 384 = 196608 像素。
我们知道每个像素都存储在 4 个字节上。因此,以字节为单位的总大小将为 196608 x 4 = 786432 字节。
从这里我们去除以 1024 ,看这里,每一步我们想要的 kB、MB、GB、TB 阶梯。因此,要获得图像的 MB 大小,我们有 786432/(1024x1024) = 0.75。
希望这能回答你的问题