我目前正在开发一款适用于 Android 的游戏。该游戏是一款实时战略游戏,它使用瓷砖或单元格,并拥有将占据这些单元格的演员(单位、树木、岩石等)。
在我的游戏中,单元格和演员是具有自己绘制方法的对象。由于担心速度问题,我目前在地图类中对资源进行解码,并将解码后的图像提供给对象的绘制方法。
像这样:
_waterCell = BitmapFactory.decodeResource(context.getResources(), R.drawable.watertile);
...
_row.get(Cell).draw(_waterCell, canvas, _paint, _X, _Y);
现在这很好,考虑到我的细胞类型很少,只有一个演员,但是当我有数百个图像要解码而不必每次绘制对象时都解码资源时,我该怎么做呢?如果我要解码地图类中的所有资源,会导致内存不足错误吗?