android js交互_混合开发之JavaScriptInterfaceAndroid端交互

c75a5fb798ef1b03ecbd674388116c76.png

本文由x-teamer团队成员:清泓 撰写。【持续更新】

【摘要】 Android端Webview是Google官方为移动端提供的展现html 网页的组件。 Webview 是一个基于webkit引擎,可以解析DOM 元素,展示html页面的控件,它和浏览器展示页面的原理是相同的,所以可以把它当做浏览器看待。(chrome浏览器也是基于webkit引擎开发的,Mozilla浏览器是基于Gecko引擎开发的)[1]Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome内核。Chromium 渲染引擎实际上是由Browser进程、Render进程和GPU进程组成的。其中,Browser进程负责将网页解析的UI合成 加速展现在页面上,Render 进程 只要负责加载和渲染网页,GPU 进程 负责 Browser 进程 和Render进程发出的GPU消息。我们在创建WebView时候就会创建启动Chromium ,Chromium中有webCore引擎和JsCore引擎。WebCore负责对HTML解析,CSS解析,渲染UI,调试信息等部分。

一. WebView

Android Browser 用来主要用WebView来加载和渲染html网页,来实现网页浏览功能。

主要从网页的 URL 到构建完 DOM 树,接着 从 DOM 树到构建完 WebKit 的绘图上下文,从绘图上下文到生成最终的UI图像。

WebView 拥有load() URL和本地html文件的功能。可以根据不同场景进行使用。

30e90ac7f7226efcae7e4599c81d0d0c.png
webview加载URL

WebViewClient主要辅助WebView执行处理各种响应请求事件的,比如:

WebViewClient.shouldOverrideUrlLoading();

这个方法的本来是拦截所有WebView的Url跳转的。我们可以通过这个API 构造一个特殊自定义格式的Url跳转,shouldOverrideUrlLoading拦截Url后判断其格式,然后Native 解析到对应的方法和数据再去执行本地方法。

91b77be3b96e8e6a5c98959ff1789dc7.png

JavascriptInterface

开发者都知道安卓API 4.4以前谷歌

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值