LinearLayout llQRCodeShare;
try {
llQRCodeShare.setDrawingCacheEnabled(true);
llQRCodeShare.buildDrawingCache(true);
Bitmap b = llQRCodeShare.getDrawingCache();
Bitmap bitmap = Bitmap.createBitmap(b);
llQRCodeShare.setDrawingCacheEnabled(false);
} catch (IllegalStateException e) {
LogUtil.e(TAG, e.getMessage()); //Software rendering doesn't support hardware bitmap
}
执行代码"llQRCodeShare.getDrawingCache()"
时,抛出异常,
Software rendering doesn't support hardware bitmap
在android8.0上。
怎么解决?
答案 0 :(得分:2)
只需在android:hardwareAccelerated="true"
标签下的AndroidManifest.xml
中创建Application
答案 1 :(得分:0)
在清单中的android:supportsRtl = "true"
下方的应用部分中添加
答案 2 :(得分:0)
为整个Activity
禁用hardware acceleration:
android:hardwareAccelerated="false"
或针对特定的View
:
llQRCodeShare.setLayerType(View.LAYER_TYPE_SOFTWARE, null);