alibaba / Virtualview-Android

A light way to build UI in custom XML.
http://tangram.pingguohe.net/
MIT License
1.46k stars 187 forks source link

重渲染的性能问题讨论 #91

Open breakerrorchen opened 3 years ago

breakerrorchen commented 3 years ago

通过平台的Canvas渲染,看似性能比原生系统组件的高。其实只是高在创建的时候。 但是系统的的View都存在一个RenderNode并用来Cache DisplayList。 这样当局部有一个View发生了变动,只要对这个View重新生成DisplayList就行了。

如果全屏都是用VirtualView的方案,那么他一定会渲染到一个的View上面, 那么整个屏幕的渲染指令都会算到这个View的RenderNode上面, 这个时候这个区域有一点点变化都需要重建整个View的渲染命令。 这比系统原生的策略比起来重太多了。