我正在创建一个类似于Bubble Pop的Android桌面游戏,我需要多次使用多个位图。多次加载多个位图的最佳实践
我有一个石头列表(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 documentation about caching images,但我不确定它是否解决了我的问题以及如何在我所有的宝石之间共享此缓存。
什么是最佳实践,以达到良好的性能和避免OutofMemoryError?
非常感谢。这似乎是我的问题非常好的解决方案 – Komi
“你可能不需要缓存。”似乎与答案的其余部分相矛盾,因为你基本上展示了如何为位图实现一个简单的缓存。 :-) – Jonik