用于NativeOnDraw的4.4版冻结的Android Webview失败;清除背景颜色

时间:2014-09-11 18:19:25

标签: android webview chromium android-4.4-kitkat hardware-acceleration

我知道很多times已经问过这个问题而且很少有工作。但是没有一个能为我工作

我有一个使用webview的应用。在打开许多应用程序然后唤醒这个应用程序有时会使webview空白。该应用程序的其他组件可以正常工作,但webview仍然存在。

我在Androidmanifest.xml中禁用了硬件加速,但它无法正常工作

<application
    android:name="com.nandish.app.MyApplication"
    android:largeHeap="true"
    android:hardwareAccelerated="false">

我尝试将以下行添加到Webview的构造函数

    setLayerType(View.LAYER_TYPE_SOFTWARE, null);

即使这样也行不通。我能够一致地重现空白屏幕。当它冻结时,日志上的错误消息是

09-11 23:29:31.237: W/AwContents(2976): nativeOnDraw failed; clearing to background color.

3 个答案:

答案 0 :(得分:2)

我的代码的问题是使用的webView对象在其他地方被编辑,因为它是一个静态变量。我的坏,将这个对象用作静态是完全的灾难。一旦我转换为实例变量,它就可以工作。

答案 1 :(得分:1)

我的WebView遇到了同样的问题,发现了一个非常简单的解决方案。在我的情况下,这只是我给它加载URL的方式。

检查您的网址是否包含“http://”。

我试图从仅包含“www.google.com”的字符串加载网址,并在LogCat上显示“AwContents nativeOnDraw失败;清除背景颜色”消息,并且令人沮丧的白色屏幕而不是我的网站视图,只在KitKat上,在GingerBread上测试我的应用程序很好。 只需将其更改为“http://www.google.com”一切顺利。

禁用硬件加速并完全向后兼容。

答案 2 :(得分:0)

我遇到了同样的警告信息

  

01-14 21:08:15.854 9400-9400 / com.xiaomi.adecom W / AwContents:nativeOnDraw失败;清除背景颜色。

当webview尝试加载无效网址(例如空网址字符串)或网址字符串未以“http://”启动时,会出现警告。