美文网首页
Webview面试详解

Webview面试详解

作者: 一生有你_b4f6 | 来源:发表于2018-08-14 16:44 被阅读0次

    一.Webview常见的一些坑

        1.android API level 16以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用Webview.addjavascriptlnterface方法,远程攻击者可通过使用java reflection API利用该漏洞执行任意java对象的方法,原理就是通过addjavascriptlnterface给webview增加了一个桥接口,然后去调用java对象

        2.webview在布局文件中的使用:webview是写在其他容器中,一般都是通过addview方法加载到其他容器中,主要注意的是在销毁webview,在ondestory先调用remove方法在调用webview的removeallviews,和webviewondestory方法才能真正销毁webview,才不会导致内存泄露问题

        3.jsbridge就是在web端和native端建立一座桥进行通讯.

        4.webviewClient.onPageFinished(当加载页面完成的时候会回调这个方法,但是这个方法会判断当前网页是否真的加载完成,如果当前网页跳转的时候会调用很多次)--------->WebChromeClient.onProgressChanged(这个方法比上面哪个要靠谱一些)

        5.后台耗电,当开启webview后,webview会在后台运行,一直进行耗电,最好的办法是在activity中进行关闭进程

        6.webview硬件加速导致页面渲染问题,为了使webview加载的更快,会出现闪屏的状态,这种解决办法就是关闭硬件加速

    二.关于webview的内存泄露问题

        1.独立进程,简单暴力,不过可能涉及到进程间通信

        2.动态天剑webview,对传入webview中使用的context使用弱引用,动态添加webview意思在布局创建个viewGroup用来防止webview,activity创建时add进来,在activity停止时要remove掉

    相关文章

      网友评论

          本文标题:Webview面试详解

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