android webview崩溃

Render process (22812)'s crash wasn't handled by all associated webviews, triggering application crash.

webview在一些机型上,会渲染一会后,直接闪退。

这是因为从 Android 3.0(API 级别 11)开始,Android 2D 渲染管道支持硬件加速,也就是说,在 view的画布上执行的所有绘制操作都会使用 GPU。启用硬件加速需要更多资源,因此应用会占用更多内存。

如果您的目标 API 级别为 14 及更高级别,则硬件加速默认处于启用状态,但也可以明确启用该功能。如果您的应用仅使用标准视图和Drawable,则全局启用硬件加速不会造成任何不良绘制效果。不过,并非所有 2D 绘制操作都支持硬件加速,因此启用硬件加速可能会影响您的部分自定义视图或绘制调用。具体问题通常以不可见的元素、异常或错误渲染的像素显现。

当手机可用内存较小时,硬件加速会导致oom,webview闪退,这里我们只需要关闭硬件加速即可,你可以选择关闭webview的硬件加速,也可以选择关闭这个页面的硬件加速。

关闭webview的硬件加速:
webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null)
关闭页面的硬件加速:

你可能感兴趣的:(android webview崩溃)