Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android存储位图数组_Java_Android_Bitmap_Android Canvas - Fatal编程技术网

Java Android存储位图数组

Java Android存储位图数组,java,android,bitmap,android-canvas,Java,Android,Bitmap,Android Canvas,我想知道哪一个是Android中存储位图的最佳阵列实现选择。将位图存储在ArrayList中是一个好主意还是一个不好的解决方案 我试图在我的应用程序中以编程方式存储5个不同的位图,并将它们存储在数组中,然后将它们绘制到电子画布上,但它不能正常工作 以下是我正在做的: //beginning ArrayList<Bitmap> temp = new ArrayList<Bitmap>(); //in some function where mBitmap is been

我想知道哪一个是Android中存储位图的最佳阵列实现选择。将位图存储在
ArrayList
中是一个好主意还是一个不好的解决方案

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

以下是我正在做的:

//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();
//开始
ArrayList temp=新的ArrayList();
//在创建mBitmap的某些函数中
温度添加(mBitmap);
//在扩展视图的自定义类中
位图bm=Bitmap.createBitmap(temp.get(temp.size()-1));
绘制位图(bm);
使无效();
但是temp中的位图从未添加到my
mCanvas


你知道为什么以及哪种方法是在Android/Java中以数组形式存储位图的最佳方法吗?

更好地用于位图缓存。请阅读

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

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

LruCache适用于API LEVEL 12,我使用的是API LVL 7。您可以使用android,虽然这在理论上可以回答这个问题,但我们希望您在回答中包含链接文章的基本部分,并提供详细信息。如果做不到这一点,答案将面临链接腐烂的风险。