原文: 吐槽 Android的WebView的pauseTimers方法神坑 webview加載卡住 | Stars-One的雜貨小窩
說明
之前公司的項目和別的公司一起合作,忽然出現情況,進入到他們的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();
}