一:WebView常见的一些坑
1:Android API Level16以及之前的版本存在远程代码执行安全漏洞,没有正确限制 WebView.addJavaScriptInterace方法,导致JS可以任意调用java对象的方法。
2:webview在布局文件中的使用,webview写在其它容器中时,先从布局中移除webview,再调用其销毁方法:removeAllViews();destroy();才能避免内存泄漏。
3:Jsbridge(不算坑)理解:WebViewJsBridge是移动和Html交互通信的桥梁。
4:webviewClient.onpageFinishsed;当网页加载完毕会调用此方法,但是当跳转多个页面,也就会执行多次这个方法,靠谱的做法:webchromeClient.opRogressChanged.
5:后台耗电(自动开启线程,无法控制,记得销毁)
6:webview硬件加速导致页面渲染问题(容易出现白屏,闪屏),解决办法:设置webview暂时关闭硬件加速。
二:webview内存泄漏的问题
1:独立进程,简单暴力。不过可能涉及到进程间通信,比较麻烦。
2:动态添加webview,对传入使用的Context使用弱引用,建立一个ViewGroup容器,用来放置webview,Activity创建时ADD进来,停止时remove掉。
网友评论