美文网首页
WebView开发遇到的问题总结

WebView开发遇到的问题总结

作者: HopeMan | 来源:发表于2018-11-11 08:34 被阅读35次

    创建:WebView创建不在布局文件中定义,在java代码中定义,add进布局容器

    问题

    1:白屏和闪屏,原因:硬件加速导致。

    WebView硬件加速导致页面渲染闪烁

    4.0以上的系统我们开启硬件加速后,WebView渲染页面更加快速,拖动也更加顺滑。但有个副作用就是,当WebView视图被整体遮住一块,然后突然恢复时(比如使用SlideMenu将WebView从侧边滑出来时),这个过渡期会出现白块同时界面闪烁。解决这个问题的方法是在过渡期前将WebView的硬件加速临时关闭,过渡期后再开启,代码如下:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

        webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

    }

    2:加载缓慢问题

    解决方法:预加载。单开或多开

    单开:只存在一个WebView对象,Activity启动模式可以设置为singleTop或singleTask

    多开:每次加载URL,都重开一个WebView,act启动模式为standand

    3:硬加速(android:hardwareAccelerated="true")部分机型不兼容,可以采用软解,但是渲染效率低。此时可以用腾讯X5WebView代替系统浏览器

    案例:HTC ONE上在WebView未加载完全时,退出Activity页面,再次进入,WebView加载不完全。此后所有WebView加载都将不完全。

    4:WebView退到后台,仍播放音视频

    @Override

    protected void onPause() {

        webView.onPause();

       webView.pauseTimers();

        super.onPause();

    }

    @Override

    protected void onResume() {

        webView.onResume();

       webView.resumeTimers();

        super.onResume();

    }

    5:WebView的正确退出方式

    https://www.jianshu.com/p/3e8f7dbb0dc7

    相关文章

      网友评论

          本文标题:WebView开发遇到的问题总结

          本文链接:https://www.haomeiwen.com/subject/gqcxfqtx.html