【Android开发经验】使用WebView加载本地图片出现闪屏的解决方法

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992

问题描述

使用WebView加载本地图片的时候,也就是一段HTML代码嵌入本地的图片地址的形式,会出现短暂的灰色的闪烁,然后就可以正常显示图片了,WebView的背景颜色在xml中设置为黑色。

同时,出现这个问题的时候,Log会打印报错信息:nativeOnDraw failed; clearing to background color.

运行环境

nexus5 Android 4.4
锤子T1 Android 4.4
三星s5 Android 4.2

解决方案

从stackoverflow中查的可能是4.4版本的WebView不支持硬件加速导致的,然后再代码中设置如下:

<WebView
            android:id="@+id/web_gif"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="none"
            android:layerType="software"
            />

不起作用,然后再代码中设置如下:

webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

还是出现闪烁。然后再Manifest中设置如下

<activity
            android:hardwareAccelerated="false"
            android:name=".ui.ImageDetailActivity"
            android:theme="@style/ImageDetailActivityTheme">

还是不行。这个时候已经崩溃…

后来找到下面的解决方案,终于不再闪烁了!

webView.setBackgroundColor(Color.parseColor("#000000"));

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。