Android WebView 第一次正常加载,退出WebView界面,等1分钟后,再进加载就空白了
Webview 加载活动列表在在部分手机上空白显示,尝试的几种方式。 1、xml的WebView标签中添加android:layerType="hardware" 2、xml的WebView标签中添加android:layerType="software" 3、WebViewActivity中添加 protected void onDestroy() { Logger.i("WebViewActivity onDestroy:", "webView:" + webView); if (webView != null) { webView.setWebChromeClient(null); webView.setWebViewClient(null); webView.getSettings().setJavaScriptEnabled(false); webView.clearCache(true); webView.removeAllViews(); webView.destroy(); } super.onDestroy(); } 4、 LoadUrl时,设置以下: webView.clearCache(true); webView.clearHistory(); webView.getSettings().setJavaScriptEnabled(true);//设置能够解析JavaScript webView.getSettings().setSupportZoom(true); // 支持缩放 webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); // 不加载缓存 webView.getSettings().setDomStorageEnabled(true);//设置适应HTML5的一些方法 webView.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath()); webView.getSettings().setAllowFileAccess(true); webView.getSettings().setAppCacheEnabled(true); webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); 5、 @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); mWebView.setLayerType(View.LAYER_TYPE_HARDWARE,null); } 6:在onPause()中加上这句 mWebView.loadUrl("about:blank");
使用以上方式均没有结果,庆幸测试同事在反复测试过程中,复现了此问题。在打开app后点击跳转到WebView后(网页正常展示,进入webview又返回到其他Activity页面后,停留很长时间再进WebView的话,是没问题的),再返回到前一个Activity页面,停留一段时间后(大概1分钟),再跳转到WebView后,页面一直加载不出来,显示空白。 根据代码中打的log,清楚的知道,代码执行到onProgressChanged函数中,progress的值停留在95。 问题就跟踪到这里。开始分析问题。。 网页的问题?还是App加载的问题?(因为ios那边正常展示,自己在电脑浏览器上也试过很多次是正常展示的,所以,一开始自己先入为主,认为是自己app的问题,研究了好几天的时间)通过替换网页,为www.baidu.com 发现没有这个问题。然后通过电脑浏览器,查看页面源码,发现,网页标题侧边的icon加载出错(前端没有配置。。下面有图说明什么icon) 以前做新需求、解决bug前都会好好分析分析,在文本编辑器里,写下步骤。可是这次却有点混乱,完全没有一个正确的思路去计划任务的执行(排除法、缩小范围,精确问题所在)。。 H5已经将icon图标配置上去了,可是还是加载不了。。。我就ooxx了。。考虑到网络路由(连接的手机网络)的原因。手机使用4G流量卡试试。。。。。测试结果,还是不行。。。 备注:在本地开tomcat时,请求配置的链接,tomcat会默认给一个网页标题的icon导致,测试时总能通过。 实在是没办法了。。。现在还在加班。真无语。。电脑带回去,明天再看看吧。。。
反复调试,发现同类问题:在进入列表页后,不操作,等待1分钟,再点击某项活动,无法加载数据和跳转。需多次点击或者等候5分钟才可展示。 同时,在Android浏览器和微信浏览器中输入活动链接,也出现此bug。 证明是链接的问题,可是在电脑浏览器中和ios中显示是正常。######03-13 18:08:10.519 27496-27545/com.yu.android.guan D/libc-netbsd: getaddrinfo: lh. guanrong.com get result from proxy >> 03-13 18:08:10.522 27496-27545/com.yu.android.guan I/System.out: propertyValue:false 03-13 18:08:10.522 27496-27545/com.yu.android.guan I/System.out: openConnection:1 03-13 18:08:10.522 27496-27545/com.yu.android.guan D/libc-netbsd: [getaddrinfo]: hostname=61.133.48.94; servname=(null); cache_mode=(null), netid=0; mark=0 03-13 18:08:10.522 27496-27545/com.yu.android.guan D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0 03-13 18:08:10.531 27496-27545/com.yu.android.guan I/System.out: entering allowSendingEmail 03-13 18:08:10.531 27496-27545/com.yu.android.guan I/System.out: [CDS]connect[/61.133.48.94:443] tm:20 03-13 18:08:10.535 27496-27545/com.yu.android.guan E/Posix: [Posix_connect Debug]Process com.yu .android. guan :443 03-13 18:08:10.592 27496-27545/com.yu.android.guan I/System.out: gba_cipher_suite:TLS_RSA_WITH_AES_128_CBC_SHA 03-13 18:08:10.594 27496-27545/com.yu.android.guan I/System.out: snd buffer size:8192 03-13 18:08:10.595 27496-27545/com.yu.android.guan I/System.out: >doSendRequest 03-13 18:08:10.597 27496-27545/com.yu.android.guan I/System.out: <doSendRequest 03-13 18:08:10.690 27496-27496/com.yu.android.guan I/ guan: WebViewActivity onProgressChanged:showDialogtrue progress:95 03-13 18:13:02.248 27496-6016/com.yu.android.guan D/libc-netbsd: [getaddrinfo]: hostname=wx-uat. guanrong.com; servname=(null); cache_mode=(null), netid=0; mark=0 03-13 18:13:02.248 27496-6016/com.yu.android.guan D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=1024; ai_family=2 03-13 18:13:02.272 27496-6016/com.yu.android.guan D/libc-netbsd: getaddrinfo: wx-uat. guanjinrong.com get result from proxy >>###### 博主 你好 请问你后来这个问题怎么解决的呢######导致原因不清楚, 我觉得是 webview的初始化需要时间久,load的时候 初始化未完成, 我开启线程延长200毫秒后load解决了这个问题######不记得了,好像没解决。。。要是你解决了,在这博客下也回复下把。3Q######导致原因不清楚, 我觉得是 webview的初始化需要时间久,load的时候 初始化未完成, 我开启线程延长200毫秒后load解决了这个问题
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。