开发者社区> 问答> 正文

为什么Native可行的方案不适用于Flutter?

为什么Native可行的方案不适用于Flutter?

展开
收起
游客cum3jectrqmmy 2022-01-08 11:22:21 873 0
来自:闲鱼技术
1 条回答
写回答
取消 提交回答
  • 在 Flutter 中,并没有 match _parent 和 match_content 的概念。最初我们的想法很简单,在 Widget 的 build 方法中, 如果属性是 match—parent, 则不断向上遍历,直到找到—个父节点,有确定的宽高值为止;如果属性是 match_content, 则遍历所有的子节点,获取子节点大小,—旦子节点存在 match _content 属性,就会 递归调用下去。 从表面上来看,做好每个节点的宽高计算的缓存,虽然达不到—次性线性布局,但这样的开销也并不是很大。但我们忽略掉了—个很重要的间题:如 dget是immutable 的,只 是包含了视图的配置信息,是非常轻量级的。在 Flutter 中,Widget 会被不断地创建和销毁, 这会导致布局计算非常的频繁。要解决这些问题, 单单处理 Widget 是不够的,需要在 Element 以及 Render Object 上做更多的处理, 这也就是为什么要考虑自定义 Widget 的原因。

    资料来源:《闲鱼Flutter技术解析与实战》,下载链接为:https://developer.aliyun.com/topic/download?id=19。

    2022-01-08 15:21:31
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
基于flutter的产品应用实践 立即下载
《Flutter in action》 立即下载
闲鱼《Flutter 技术解析与实战》 立即下载