版权声明:有些文章写的很随意,那是仅作为个人记录的文章,建议直接关掉,多看一秒亏一秒 https://blog.csdn.net/qq_36523667/article/details/82291923
学习自
https://www.jianshu.com/p/3686315d3ad6
JS文件如何和Native View对应起来的?
渲染准备阶段
把任务都缓存起来,在下一次ASYNC渲染信号到来的时候,执行任务
ASYNC渲染信号到来(我也不知道是不是它,多半是它)
caculateLayout
扫描二维码关注公众号,回复:
3213219 查看本文章
这个方法用于解析JS中保存的布局
插一段
不可能把所有JS的东西都搬运到Native来,一来不好对应,二来太过耗时。一般就解析JS的View,然后处理任务的时候,是沿着JS逻辑执行的,遇到需要Native的时候,才调用Native的东西
创建View
即Component。准确的说,Component是View的持有者。
设置LayoutParams
caculateLayout解析了JS布局。解析JS布局后,会拿到里面要创建的View去创建Native View。而这一步就是设置对应布局参数了。(我猜的)
点击事件
看到这里又要插一段,我对Weex又有了新的认识:
Weex就是移动端的抽象,定义了一系列的规则,控件,布局参数,触摸事件。。。JS本身就可以运行在浏览器里。对于IOS和Android,则是会解析其规则,拿着Weex规则和Native规则匹配,创建对应的Native组件。
这就是Weex!
绑定数据到UI上
总结:
1.所有发起的任务都会被延迟到下一次渲染执行(我怀疑ASYNC渲染信号就是Weex的事件驱动模型,惊!)
2.然后就是解析JS,创建View,设置布局参数,点击事件,View绑定数据