我所知道的关于webview的知识

webview是AndroidUI里的一个看起来比较牛逼的控件,只要配置几个属性,然后loadurl,就可以像普通浏览器一样显示网页,但是,其实这是一个大坑!

1、webview上传图片

    你可以在网上查找到好多关于webview上传图片的东西,比如说h5写input标签,然后你调用openfilechooser方法,或者是在5.0以后调用onshowfilechooser方法。是不是感觉很兴奋,可以解决了。但是,不幸的是,Android对于webview的每一次改动都是既不向上,也不向下兼容的,所以,哥们,你悲剧了!只能在本地实现图片上传了。别妄想着像iOS一样什么都不做,就能实现,好吧

2、拦截url

    你一定知道webviewclient有一个方法叫shouldoverrideurlloading方法,对,就这么干,在这个方法里去拦截。但是,哥们,你如果这么做的话又悲剧了!在源码的注释里,这个方法只能用来拦截GET请求的页面,so,你又没有成功拦截。我的做法是在onpagestart方法里进行拦截,可以试试。

3、重定向问题

    我也是谷歌百度了好久,才发现原来,我实现不了!如果有人看到这个并知道如何解决,请留言,谢谢!

4、webview占内存问题

     不管你是在页面ondestroy的时候手动调用代码释放,像webview.ondestroy()这样,还是不在xml里写webview控件,然后在代码里生成webview,在ondestroy里去移除,总之,你是没有办法降低它的内存的。这是我的一些看法,如果有知道怎么做可以降低内存消耗的,请留言,万分感谢!

5、webview的cookie

     有两个类可以帮你实现cookie的同步,cookiesyncmanager和cookiemanager,你可以查一查,不用谢。。。

6,、关于onpagefinish的调用时机

     我在不同的手机上发现,webview的这个方法的调用时机不同,也可能是我写的代码有问题,我不能准确的在webview加载完毕后去实现我的一些方法,如果你知道并且看到这篇文章,请给我留言,感激不尽

你可能感兴趣的:(我所知道的关于webview的知识)