WEEX页面启动流程分析-renderByUrl

在自己的项目中。启动页面调用了这几个方法。

createWXInstance();// 构造一个view 填充到root里-注册rend的回调等onViewCreated,onRenderSuccess,onRefreshSuccess,onException这几个回调的注册

WXSDKInstance.renderByUrl

WXSDKInstance.renderByUrlInternal

WXSDKInstance.render或者请求bundle文件adapter.sendRequest(585行)

回调结果在WXSDKInstance.onHttpFinish里(1685行)

在这个一大坨函数中-有一个render方法-是我们关注的.其他都是一些输出。我暂时也没看(1773)

renderInternal--476行

最后在renderInternal里调用WXSDKManager.getInstance().createInstance(this, template, renderOptions, jsonInitData); 

这里调用了下面2个方法

mWXRenderManager.registerInstance(instance);//这里做了一个注册。因为instanceid是一样的。所以在这里注册。下面获取也能去得到

mBridgeManager.createInstance(instance.getInstanceId(), code, options, jsonInitData);重点是这个函数

里面调用是invokeCreateInstance-这个函数调用的比较深-连着底层的native。看着应该是把当前页面的bundle.js(vue文件)加载过来。进行解析。

之后在WXRenderManager里会触发一堆回调

具体是这2个方法

runOnThread 这个方法是执行task-每一个task对应的是一个类型的action。这个action和vue.js的标签类型及属性参数是有对应的。可以自行打断点或者加log查看

postOnUiThread 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 彷徨地行走 熙攘吵闹的人群中 因独自一人 故忐忑不安 望着喧嚣的人潮 莫名感到天色昏暗 空气稀薄到无法呼吸 无声的...
    平生远阅读 252评论 0 1
  • 家住乡下,基本算是四面环山,当然那些山在地理上来说算土丘吧。处在那县市的交界处,暗暗地成了个三不管的清闲地方...
    擒雾语阅读 350评论 0 3
  • 卡尔17岁了。成年生日的那天,他决定去实现一直未实现的生日愿望——去龙人之谷看看。 从未自己出远门的他,看起来有些...
    罗诗淇阅读 350评论 0 0
  • 人生是螺旋上升的过程 马斯洛的需要 人生的意思在于安心,很多时候是心在作祟。知道自己是谁,从哪里来到哪里去! 万法...
    清心阁阅读 116评论 0 0