如何在Flutter上实现高性能的动态模板渲染

  1. 云栖社区>
  2. 闲鱼技术>
  3. 博客>
  4. 正文

如何在Flutter上实现高性能的动态模板渲染

闲鱼技术 2019-09-19 13:17:11 浏览871
展开阅读全文

作者:闲鱼技术-光酒

背景

最近小组在尝试使用一套阿里dinamicX的DSL,通过动态模板下发,实现Flutter端的动态化模板渲染;本来以为只是DSL到Widget的简单映射和数据绑定,但实际跑起来的效果出乎意料的差,列表卡顿严重,帧率丢失严重。这就让我们不得不深入Flutter的Framework层,去了解Widget的创建、布局以及渲染的过程。

为什么Native可行的方案在Flutter效果这么差

在iOS和Android开发中,DSL到Native的方案其实并不陌生;Android中,我们就是通过编写XML文件来描述页面布局。Native的这种映射的方案,为什么在Flutter上,效果变得如此糟糕呢?

先通过一个简单的示例来看一下dinamicX DSL的定义:

DSL

可以看到DSL的设计与Android中的XML很相似,在我们的DSL

网友评论

登录后评论
0/500
评论
闲鱼技术
+ 关注
所属云栖号: 闲鱼技术