美文网首页
WebView安全漏洞面试问题

WebView安全漏洞面试问题

作者: 崽子猪 | 来源:发表于2019-05-21 06:55 被阅读0次

    需要了解

    1.WebView常见的一些坑

    2.关于WebView的内存泄漏问题

    ----------------Web常见的一些坑-------------------

    1.该漏洞源于程序没有正确限制使用WebView.addJavascriptlnterface方法,远程攻击者可以通过使用JavaReflectionApi利用该漏洞执行任意Java对象的方法

    2.webView在布局文件中使用:webview写在其他容器中时

        解决办法:需要销毁webView 在Ondestory方法里先把linelayout里的WebView.remove掉 然后再调用webView的removeAllviews和Destory方法 才能真正的将WebView销毁 从而不导致内存泄漏

    3.webviewClient.onPageFinished(会判断网页内容是否真的加载完毕,如果当前正在加载的网页产生跳转,这个方法就会被调用无数次) ---> 所以调用:WebChromeClient.onProgressChanged

    4.后台耗电

    5.WebView硬件加速导致页面渲染的问题(容易出现页面加载白块 页面闪烁)

        解决办法:设置WebView暂时关闭硬件加速

    -----------------关于WebView的内存泄漏问题-----------------

      1.为什么会造成内存泄漏?

        因为WebView首先会关联Activity而内部执行的操作会在新的线程当中.Activity的生命周期和新线程的生命周期是不一样的所以说导致了WebView他会一直持有activity的对象引用不能回收、

      2.如何避免内存泄漏?

        方法一:开启独立进程给WebView进行操作 (会牵扯到近程通信比较麻烦)

        方法二:动态添加WebView (我们要对传入WebView的Context进行弱引用 在Activity停止时remove掉)\

    开发过程中通常使用方法一 因为 1>这个webview使用完毕后直接杀死进程防止内存泄漏

          2>我们App的主进程减少了内存容量

    相关文章

      网友评论

          本文标题:WebView安全漏洞面试问题

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