我有一个简单的问题。在 Flutter 文档中解释了build
方法可以被框架多次调用,建议我们应该只通过该build
方法返回小部件。但即使我们只返回小部件,它不会导致一些性能问题吗?如果build
方法在一秒钟内被调用 20 次,是不是意味着小部件将被渲染 20 次并且不应该很慢?如果 Flutter 框架优化渲染小部件,怎么做?
您能否为此参考一些详细的文档或答案?
我有一个简单的问题。在 Flutter 文档中解释了build
方法可以被框架多次调用,建议我们应该只通过该build
方法返回小部件。但即使我们只返回小部件,它不会导致一些性能问题吗?如果build
方法在一秒钟内被调用 20 次,是不是意味着小部件将被渲染 20 次并且不应该很慢?如果 Flutter 框架优化渲染小部件,怎么做?
您能否为此参考一些详细的文档或答案?
这是一个非常好的问题。Flutter 团队在 YouTube 上整理了这个非常有用的视频,完美而详细地解释了这一点。本质上,您需要了解 Widget 树和元素树之间的区别。小部件树中的每个小部件都由一个称为元素的东西支持,而这个元素是 Flutter 实际用来在屏幕上绘制“事物”的东西。从程序员的角度来看,小部件是元素的视觉表示,而元素是屏幕上小部件的实际视觉表示。优化是在您通常不会直接使用的元素树级别完成的。
看看那个视频,这里有很多有用的信息