1、Weex 架构简介和性能优化实战https:/ DOMiOSRenderEngineAndroidRenderEngineH5RenderEngineiOS UIAndroid UIH5 UI简明架构图ServerWeex File)JS BundletransformerdeployServerJSJS FrameworkJSCore/V8JS-Native BridgecallJs callNativeiOSRenderEngineAndroidRenderEngineH5RenderEngineClientDSLJS-BundleJS&Native 通信协议Native Render性能
2、优化实践网络渲染:秒开问题与挑战 1、JS bundle下载慢(压缩后60k,NetworkTime800ms)2、JS和Native通信效率低,拖慢加载时间 3、长页面VDom渲染时间慢,占首屏时间40%左右 4、JSThread过于繁忙(Json解析&反射调用)5、JS Task无法抢占执行,导致新页面打开慢 6、复杂页面滚动帧率低的问题Weex TimeLine网络下载(50%)JS&Native通信(25%)渲染(25%)Spdy 优化并发增强反射&GC粒度控制图片策略源文件压缩http-cache即时中断opacity 1预 0 0加(载)100(20屏)Cell 2:4Cell 2
3、:nOpacity 属性问题解决方案:setLayerType(View.LAYER_TYPE_HARDWARE,null);优化效果:38帧55帧Text优化优化前(文字被截断)优化后(正常渲染)Text优化高频通信接口上浮,减少中间数据转化消耗,加载性能平均提升15%Measure和Draw使用了同一个对象,避免了额外的对象创建,预计提升10%左右最佳实践 1、dom 数量多会严重影响性能,因此必须尽可能减少同时间产生过多的 dom;2、长列表建议使用list,每个Cell尽量拆分;3、使用 list+loadmore 方式实现长列表分页加载;4、实现tab切换功能的时候,注意lis t标签的个数;5、点击跳转的场景建议使用 a 标签而不是透过 onclick绑定的方式跳转。Q&A