Я создаю настольную игру для Android, похожую, например, на Bubble Pop. где мне нужно использовать несколько растровых изображений несколько раз.
У меня есть список камней (10x10), где каждый камень — это объект, который содержит растровое изображение и некоторые другие значения. Много растровых изображений (цвета камня) одинаковы.
Прямо сейчас я использую что-то подобное для каждого камня в списке:
public class Stone extends Point{
private Bitmap mImg;
public Stone (int x, int y, Resources res, Stones mStone) {
...
mImg = BitmapFactory.decodeResource(mRes, mStone.getId());
}
protected void changeColor(Stones newD){
mStone = newD;
mImg = BitmapFactory.decodeResource(mRes, mStone.getId());
}
}
Я нашел несколько похожих вопросов, но это все о больших растровых изображениях. Также я нашел некоторую документацию Android о кэшировании изображений, но я не уверен, решит ли это мою проблему и как разделить этот кеш между всеми моими камнями.
Как лучше всего добиться хорошей производительности и избежать OutofMemoryError?