一个大位图与许多小位图

时间:2015-05-21 19:31:25

标签: android memory bitmap

我正在制作一款适用于Android的纸牌游戏,并且需要在整个卡片组中加载位图。为每张卡创建一个单独的图像并逐个加载它们,或者用所有52张卡创建一个大图像然后加载到单个大图像中会更节省内存吗?

1 个答案:

答案 0 :(得分:3)

我不会说将图像加载为大型精灵图像一定更快或更好。然后,如果您使用的是Android小部件,则必须为每张卡剪切位图并将各个位图加载到卡上。如果你在画布上全部渲染它,那么最好加载一个大的位图图像并根据需要进行剪切。

我唯一担心的问题,特别是在Android上,是内存异常。我有一些生产应用程序,并且在现实世界中看到了由于空间不足以存储位图而崩溃的手机数量。它可能很适合你的开发手机,但有很多设备有更小的屏幕,分辨率,因此RAM。在这种情况下,单独加载位图可能符合您的利益,因为您可以确保只显示当前可见的位图,从而节省内存。

52张卡是52张不同的图片 - 我不知道很多游戏会同时看到所有这些图片。

修改

如果您只是存储了西装符号,数字和特殊卡片图标(杰克,女王,王牌,王牌),然后将它们排列在您生成的卡片上,那么真正节省内存的是什么。那么你就不会占用卡片周围的所有空白区域占用宝贵的内存,你可以通过将不同颜色的图标着色来重复使用不同套装的特殊卡片图标。