创建全局WebView时遇到一个报错,WebViewActivity页面会白屏,google后发现是WebView的bug,详细的WebView的bug介绍详见链接(https://groups.google.com/a/chromium.org/forum/#!topic/android-webview-dev/m0EtO3IXNn0),本来是在MainActivity中创建一个全局webview,结果安装第一次都会报此异常,后来将其改为先在SplashActivity中初始化一次,再在MainActivity中初始化一次,全局WebView便可以正常创建了,代码如下:
- WebViewActivity.java
public static WebView webView;
- SplashActivity.java
onCreate中:
try{
if(WebViewActivity.webView==null){
WebViewActivity.webView=new WebView(SplashActivity.this);
}
}catch(Exception e){
e.printStackTrace();
}
- MainActivity.java
onCreate中:
try{
if(WebViewActivity.webView==null){
WebViewActivity.webView=new WebView(MainActivity.this);
}
}catch(Exception e){
e.printStackTrace();
}
详细的报错日志如下:
Rejecting re-init on previously-failed class java.lang.Class<com.android.webview.chromium.WebViewContentsClientAdapter$6>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail;
at com.android.webview.chromium.WebViewContentsClientAdapter com.android.webview.chromi

在创建全局WebView时遇到一个错误,导致WebViewActivity显示白屏。错误源于WebView的内部bug。为解决此问题,将全局WebView的初始化步骤改在SplashActivity和MainActivity中各执行一次。具体做法是,在SplashActivity和MainActivity的onCreate方法内分别检查并创建WebView。这样可以避免首次启动时的异常,确保全局WebView能正常工作。
最低0.47元/天 解锁文章

926

被折叠的 条评论
为什么被折叠?



