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 

你可能感兴趣的:(WEEX页面启动流程分析-renderByUrl)