现象:H5,从A页面跳转到B页面,然后从B页面返回到A页面过程当中,页面卡死,页面进度条卡死不动,等待十几秒后页面恢复,ajax执行。
排查了两三天,从JSbridge到前端页面性能加载都没发现问题。后面看到页面中有一个HTTPS的图片一直不显示(开发环境图片服务器很慢),想到是不是因为一直加载图片导致页面阻塞,所以一直到不了onPageFinished。后面尝试了一下在onPageStarted开始前阻止图片加载,等到页面加载完毕onPageFinished后再次开始图片下载,试了一下问题果然解决,记录下。。
// 加载前阻塞图片加载(某些图片很慢导致网页卡死)
webView.getSettings().setBlockNetworkImage(true)
// 页面加载完成再继续加载图片
webView.getSettings().setBlockNetworkImage(false);