我想截取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): View too large to fit into drawing cache, needs 4784400 bytes, only 3932160 available
如何正确地截取此布局的屏幕截图?是否有其他方法不需要使用太多内存来进行操作?