WebView遇到部分手机加载不出来问题

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状态

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • WebView·开车指南 目录 WebView简介 WebView基本使用 WebView常用方法 WebSett...
    南城的人阅读 4,781评论 0 19
  • Tips 由于WebView的用法实在太多,如果您只是想查询某个功能的使用——建议Ctrl+F(Commad+F)...
    BugDev阅读 7,805评论 11 109
  • 链接:https://www.jianshu.com/p/fd61e8f4049e 一、简介 这部分主要介绍下 W...
    柒黍阅读 1,886评论 0 4
  • 上帝总会在你猝不及防时给你一场大大的惊喜。3月17日傍晚7点,满心欢喜的前去看望久未相见的友人,伴随着耳机里欢快的...
    金陵先生阅读 228评论 0 0
  • G06F15相关的多处理器通信的案子一直比较迷茫,以下是关于多核处理器存储管理方法的相关知识总结,来自于百科和...
    阿洋阅读 379评论 0 2