Android 查看绘制到位图

Android view draw to 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);

现在的问题是:

如何绘制缩放位图的视图?

非常感谢。

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