我目前正在开发2D游戏android java。
我正在尝试避免使用位图时我们都处理的常见OOM。
为此,在首次启动时,我估计了应用程序的最大RAM使用量,并根据结果缩小了位图的大小:我通过执行 width * height * 2 来计算每个位图的字节大小。 strong>(我正在使用 RGB_565 ),对于最重的精灵,我还要将结果加倍,以考虑到G缓冲区。
问题是,我的结果与实际用法相去甚远。在我的设备上:估计为〜60MB ,而实际使用量为〜100MB 。 当我将每个位图的估计字节大小加倍时,计算将变得准确。
我想念什么吗?我们真的需要对每个位图占用的空间进行重复计算吗?