我正在尝试对 LinearLayout 的内容进行屏幕截图。布局包含一个可以具有可变高度/宽度的滚动视图。当布局不太大时,此代码可以正常工作(即,您无需滚动太多屏幕即可查看所有内容):
View v1 = (LinearLayout)theLayout;
v1.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
但是,如果我尝试捕获的 LinearLayout 很大,则应用程序会因 v1.getDrawingCache() 上的空指针而崩溃。
logcat有错误:
05-11 13:16:20.999:W/View(17218):视图太大,无法放入绘图缓存,需要 4784400 字节,只有 3932160 可用
如何正确截取此布局的屏幕截图?还有另一种不使用太多内存的方法吗?