Android商店的Bitmaps数组

时间:2012-05-15 12:44:48

标签: java android bitmap android-canvas

我想知道哪个是Android中用于存储Bitmaps的数组实现的最佳选择。 <{1}}中存储位图是不是一个好主意,或者它不是一个好的解决方案。

我试图在我的应用程序中以编程方式创建5个不同的位图并将它们存储在数组中,然后将它们绘制到e画布,但它无法正常工作。

以下是我正在做的事情:

ArrayList<Bitmap>

但是来自temp的位图永远不会添加到我的//beginning ArrayList<Bitmap> temp = new ArrayList<Bitmap>(); //in some function where mBitmap is been created temp.add(mBitmap); //in my custom class which extends View Bitmap bm = Bitmap.createBitmap(temp.get(temp.size()-1)); mCanvas.drawBitmap(bm); invalidate();

任何想法为什么以及哪种是在Android / Java中将数据存储在Array中的最佳方法?

2 个答案:

答案 0 :(得分:1)

最好使用LruCache进行位图缓存。请阅读Displaying Bitmaps Efficiently

答案 1 :(得分:0)

这不是在ArrayList中使用带软引用的LruCache存储位图的最佳方法

 LruCache<String, SoftReference<Bitmap>> cache;
 cache = new LruCache<String, SoftReference<Bitmap>>(8*1024*1024)