webview 存在bug:部分手机5.0:https://stackoverflow.com/questions/41025200/android-view-inflateexception-error-inflating-class-android-webkit-webview#
bug场景魅族Pro5,华为meta8,oppo手机等:
如果项目里webactivityA用到了这两个方法,webactivityB中没有用到着两个方法。先进入webactivityA,然后退出再进入webactivityB,则会影响webactivityB中webview的加载。比如会导致js在webactivityB加载到10%左右无故停掉,或者很慢。最终导致加载不出webview,也没有任何回调信息。
分析原因:webactivityA对全局webview停止了js加载,影响了webactivityB加载。
方案1:虽然能通过手机里的webview多进程解决这个问题但是不建议这样做。
方案2:多进程,webactivityA在另外一个进程中。不建议这样。
方案3:在webactivityA和webactivityB中分别在onPause和onResume中调用
webView.pauseTimers();和webView.resumeTimers();或者都不用pauseTimers和resumeTimers。在我们项目中是都不用这两个解决的。
webView.pauseTimers();
当应用程序(存在webview)被切换到后台时,这个方法不仅仅针对当前的webview而是全局的全应用程序的webview,它会暂停所有webview的layout,parsing,javascripttimer。降低CPU功耗。
webView.resumeTimers();
恢复pauseTimers状态