Android视图绘制到位图

时间:2015-03-26 07:07:32

标签: android canvas bitmap

最喜欢这个问题:How to convert View to Bitmap in android?。 我的方式是:

Bitmap bitmap = null;
int viewWidth = view.getWidth();
int viewHeight = view.getHeight();
bitmap = Bitmap.createBitmap(viewWidth, viewHeight, Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
return bitmap;

但是createBitmap()可能会出现OutofMemory,所以我想缩放位图的大小。像这样:

bitmap = Bitmap.createBitmap(viewWidth / 4, viewHeight / 4, Bitmap.Config.RGB_565);

现在的问题是:

如何将视图绘制到缩放位图?

非常感谢。

1 个答案:

答案 0 :(得分:0)

那是什么观点?它比屏幕大吗?根据我的经验,应该有足够的内存可用于创建屏幕大小的缓冲区。您是否检查过您的应用中是否存在其他泄漏?尝试使用Android设备监视器分析您的内存使用情况。作为最后的手段,尝试在分配位图之前进行垃圾收集System.gc()。