我正在捕獲屏幕,只要屏幕被觸摸,我將位圖保存在ArrayList中。避免位圖被自動回收 - Android
screen.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
count++;
screen.setDrawingCacheEnabled(false);
screen.setDrawingCacheEnabled(true);
Bitmap b = screen.getDrawingCache();
bitmapList.add(b);
Log.e("Captured Image Number: ", ""+count);
return false;
}
});
然後,當我嘗試訪問位圖來保存它們時,它們不再存在,回收!
我該怎麼辦?
如果我在這裏保存,需要很長時間。
試圖轉換爲byte[]
以避免回收,它也花了很長時間的預期。
我想保持它高達15fps我應該做什麼。
有一件事要嘗試將每個位圖的副本存儲到數組中。使用Bitmap.copy(config,true)。 – harism 2014-09-27 11:16:43
@harsim也嘗試過......沒有運氣,回收。 – Salmaan 2014-09-29 03:33:54