我想知道哪个是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中的最佳方法?
答案 0 :(得分:1)
最好使用LruCache进行位图缓存。请阅读Displaying Bitmaps Efficiently
答案 1 :(得分:0)
这不是在ArrayList中使用带软引用的LruCache存储位图的最佳方法
LruCache<String, SoftReference<Bitmap>> cache;
cache = new LruCache<String, SoftReference<Bitmap>>(8*1024*1024)