我正在捕获屏幕,只要屏幕被触摸,我将位图保存在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