我正在尝试使用以下代码截取屏幕截图:
final View rootView = getRootView();
rootView.setDrawingCacheEnabled(true);
Bitmap bmp = Bitmap.createBitmap(rootView.getDrawingCache());
rootView.setDrawingCacheEnabled(false);
捕获后,我将屏幕截图存储在ArrayList<Bitmap>
.
mReporter.addBitmap(bmp);
问题是,每次执行整个过程时,堆都会大量增长。如何避免堆变得太大?
我的日志显示此信息可能会有所帮助:
05-08 20:11:48.443: I/dalvikvm-heap(18497): Grow heap (frag case) to 31.288MB for 6819856-byte allocation
编辑:
我在 ArrayList 中最多存储 3 个图像