Flutter 3.10为MediaQuery
的使用带来了一些改进。我看到我们可以像往常一样使用MediaQuery.of(context).size
来获得Size,但现在我们可以使用MediaQuery.sizeOf(context)
。
哪一个性能更好?后者?建议是什么?
编辑(2023-06-15):* 我在提炼这个问题。这个问题的核心不是关于获取Size
,这只是一个简单的例子,说明了使用MediaQuery
的新方法,使用新的可用方法获取相同数据的新方法。这可能是MediaQuery.of(context).platformBrightness
-MediaQuery.platformBrightnessOf(context)
或其他。
1条答案
按热度按时间w1jd8yoj1#
在阅读了一些资源后,@peter-koltai分享的评论非常准确。
那么答案可以总结如下(* 总结来自Andrea Bizzoto*):
MediaQuery.of(context).size/padding/orientation
,当任何MediaQuery属性更改时(性能降低),小部件将重新构建。通过调用MediaQuery.sizeOf/paddingOf/orientationOf(context)
,小部件将在属性更改时仅重建,避免不必要的重建。看看这个issue,它很好地解释了这个概念。