【发布时间】:2016-09-26 01:41:26
【问题描述】:
我正在使用密度为 420 dpi 且屏幕尺寸为 1080x1920 像素的 Nexus 5X 模拟器。我将原始大小的位图加载到 ImageView 中。在磁盘上,位图的大小为 1.3 MB 和 1280x851 像素。 我的 ImageView 尺寸是宽度:全屏,高度:全屏。我的图像具有 32 位颜色深度 = 每像素 4 个字节。我计算出内存中的预期大小为 1080x1920x4=8.29 MB。
当我运行我的代码并加载我的图像时,它在内存中的大小约为 30MB。这是什么原因?如何调整我的计算以获得正确的估计?我当然知道将缩小图像加载到小容器中的方法,但我试图弄清楚如何计算完整图像的大小。
谢谢
【问题讨论】:
-
"在磁盘上" -- 你的项目中这个文件到底在哪里?或者您是否通过其他方式(例如,从文件、从 Web URL)加载图像?
-
在可绘制文件夹内。我知道最好避免在可绘制文件夹内使用高分辨率图像,但我正在尝试找到正确的计算方法。我正在通过 setImageResource(resId) 加载图像