说明
之前公司的项目和别的公司一起合作,忽然出现情况,进入到他们的Activity之后返回,再到我们页面,加载的网页webview就卡住了
我先是觉得排查一下我们这边的Activity,对webview的页面开始加载和页面加载两个监听方法,添加了日志打印
发现出现卡住的情况是页面加载卡住了
于是继续排查进度条,发现每次出现情况进度刚好在70,就是有点奇怪了
调试了几天,并没有结果
之后得知,他们那边的Activity也是有个webview的,于是尝试得百度搜索了下android webview 影响加载
得到了份结果
感觉应该是这个pauseTimers
方法
wevview的pauseTimer会暂停所有的webview的加载
调用pauseTimers()这个方法会将整个app所有webview的js中的定时器停掉。即使没有调用这个方法的webview也不能幸免。
于是让他们那边给了份代码,之后便是看到了上文中的提及的方法,他们那边有调用...
然后我扩展的搜索了下Android webview pauseTimers
,百度一看,好多文章都说到了这个问题
- WebView的pauseTimers()遇到的问题_aahuangjianjun的博客-CSDN博客
- 全面总结WebView遇到的坑及优化_lucky的专栏-CSDN博客
- android应用因为加入js而导致webview一直在加载中的bug解决方案 - Javascript教程_JS教程_技术文章 - 红黑联盟
很大概率确认应该是这个问题了,于是加了这边页面加了个恢复的方法,测试,成功
@Override
protected void onResume(){
super.onResume();
webView.resumeTimers();
}
评论区