Android控件系列之---->WebView(不提供具
首先致java后台转Android开发的朋友,webView的开发思路可以完全按照网站的开发思路进行。
webView是一个ViewGroup,然后明确一点webView是提供的Android后面的java代码和网页上的JavaScript代码交互的,并不是和html交互,这是需要明确的(小编在这里徘徊了很久,如果想和html交互,请通过JavaScript)
webView实现流程:
java(Android 部分)——>object(映射对象)——>js(接收映射对象)——>html/java(服务器部分) 反过来也可以
因为webView使用java的反射机制,所以java的反射的优点和缺陷webView也具有相同特性。
本文将从“静”,“动”两个方面对webView进行介绍,
webView的使用有两点需要注意,内存回收,安全问题。
先从优化说起,工欲善其事,必先利其器,准备工作要做好。
1.和App主进程分开加载,避免oom.
2.动态创建,动态销毁
3.Activity被动被杀,保存webView状态
4.针对H5的优化方法(主要优化方向:加载速度,流量消耗)
5.webView作为快速开发的核心组件也在不断的优化中,版本控制是少不了的,webView在优化中内核做了切换
6.webView对js的控制并没有获得绝对控制权
7.还有一点需要记住,webView内部封装了get请求,通过webView对服务器的访问可以看出。
webView更多的是起到一个桥接作用,用来加载文件,其它的操作由其它的类来完成。
静:
webView可以加载的文件类型:
file:开头的
content:开头的
http:开头的
设置js支持
渲染支持
缩放支持
离线加载技术(缓存技术)
。。。。(很多大牛已经总结的很全面了就不赘述了)
动:
所谓的动就是指页面的动作,当然是和js有关的动作
有一个强大的功能就是可以拦截url
键盘在也是在处理和js交互时需要注意的地方
webView还有一个辅助类用来处理页面的固定标签
在h5的时代viewPort和webView有了跟多的关联,前端并非的小编的擅长就刨到这里了,webView在未来还会有很多的发展,更多的可能会在提高渲染绘制的速度的方向。