我使用下面的代碼這種方式,但是當我將圖像添加到ArrayList中的某個時候我的應用程序崩潰後,它超出內存錯誤我怎麼可以存儲大量位圖存儲在一個ArrayList中
ArrayList<Bitmap> rev = new ArrayList<Bitmap>(10000);
for (long i = 1000000; i < millis * 1000; i += 1000000)
{
finalBitmap = retriever.getFrameAtTime(i,MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
rev.add(finalBitmap);
try
{
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
finalBitmap.compress(Bitmap.CompressFormat.PNG, 40, bytes);
File f = new File(saveFolder, ("img0"+j+".png"));
f.createNewFile();
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
fo.flush();
fo.close();
j++;
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
存儲在數組列表位圖必須在一些地方造成問題。我建議只在arrayList中存儲圖像路徑,並使用 – Amsheer 2015-02-12 05:42:39