一、webview常见的一些坑
1、webview在布局文件中的使用,webview写在其他容器中。webview的销毁:先把父容器中的webview移除,再调用webview的ondestory
2、jsbridge
3、webviewClient.onPageFinished由于页面跳转的原因,会回调多次
4、后台耗电。会开启一些线程,处理不当导致线程一直在后台运行。在退出时需要彻底销毁webview
5、webview硬件加速导致页面渲染。容易出现页面加载白块和页面闪烁问题。解决:设置webview暂时关闭硬件加速
6、Android API16以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制webview.addJavascriptInterface方法,远程攻击者可以使用Java Reflection API利用该漏洞执行任意Java对象的方法
二、webview内存泄漏
webview会关联一个activity,导致webview一直持有该activity
解决:
1、使用独立进程,但会涉及到进程通信的问题
2、动态添加webview,对传入的Context使用弱引用,使用add添加到父布局,在Activity停止时remove掉webview