最近在做一个理财的项目,其中用到的H5页面比较多,在项目后期出现了很多bug,今天介绍下webView加载H5出现空白的解决办法
首先介绍下出现问题的场景,我们在一个Activity中镶嵌了一个H5的小页面,在这个Activity中有很多点击可以进入另外的H5页。并且这个Activity每次执行onResume就会重新加载所有的数据。 当H5页面没有加载完成的时候如果我点击进入另外的H5页面时就会出现卡顿,有的时候甚至直接加载出空白页。很多手机出现空白页的几率非常小,卡顿的现象会有,只有一款三星的手机加载空白页的几率非常大,其他三星同样系统的手机加载空白页的几率页非常小。
经过多次测试,发现这款三星手机,出现空白页是获取H5页面的数据到10%就不加载了,具体原因一直没有找到,不过可以肯定是和上一个H5页面没有加载完成有关。如果上个H5页加载完成所有的手机都不会出问题。
最终的解决办法是,在这个Activity中的onPause()的方法中把这个嵌套的H5页面直接加载空白页
@Overridepublic void onPause() {super.onPause(); // 加载空白页 webView.loadUrl("about:blank");}
这样就解决了后面那个H5页卡顿和加载空白页的问题。
希望对大家有所帮助,同时有什么问题希望大家能够沟通。