Flutter 有必要优化页面浏览量较大的页面吗?

Flutter 有必要优化页面浏览量较大的页面吗?,flutter,dart,optimization,Flutter,Dart,Optimization,我有一个PageView,我的应用程序中有大量页面。每个页面都非常复杂,有一个页面视图和它自己的页面 我是一个新手,我的第一个预感是它需要优化。因此,在最外面的PageView的build()函数中,我检查了索引,只为当前、上一页和下一页创建了完整的页面(我想滑动动画需要先构建当前页面和它旁边的页面)。对于其他页面,我只给它一个空的容器() 这样做是必要的,也是正确的吗?我觉得这是颤振应该做的一个明显的优化,但是我在网上找不到任何相关的讨论。任何建议都将不胜感激 不,不是ListView、Gri

我有一个
PageView
,我的应用程序中有大量页面。每个页面都非常复杂,有一个
页面视图
和它自己的页面

我是一个新手,我的第一个预感是它需要优化。因此,在最外面的
PageView
build()
函数中,我检查了索引,只为当前、上一页和下一页创建了完整的页面(我想滑动动画需要先构建当前页面和它旁边的页面)。对于其他页面,我只给它一个空的
容器()


这样做是必要的,也是正确的吗?我觉得这是颤振应该做的一个明显的优化,但是我在网上找不到任何相关的讨论。任何建议都将不胜感激

不,不是
ListView
GridView
,以及类似的小部件都已经过优化,可以只构建和呈现当前需要的内容。您可以在PageView.builder的描述中看到这方面的提示:

创建一个可滚动列表,该列表使用 是按需创建的


我认为常规的
PageView
PageView.builder
之间的区别在于
PageView
在启动时初始化所有子项,而
PageView.builder
是延迟初始化的。

不,不是
ListView
GridView
,以及类似的小部件都已经过优化,可以只构建和呈现当前需要的内容。您可以在PageView.builder的描述中看到这方面的提示:

创建一个可滚动列表,该列表使用 是按需创建的


我认为常规的
PageView
PageView.builder
之间的区别在于
PageView
在启动时初始化所有子项,而
PageView.builder
是惰性地初始化的。

flatter的
PageView
是惰性地调用您提供的
itemsbuilder
。对于索引,只有当页面确实需要时才调用它,您不需要做更多的事情。但为了进一步改进,您可以简化视图层次结构,并防止不必要的生成方法调用。您可以阅读有关性能最佳实践的更多信息。

Flatter的
PageView
正在懒洋洋地调用您提供的
itemBuilder
。对于索引,只有当页面确实需要时才调用它,您不需要做更多的事情。但为了进一步改进,您可以简化视图层次结构,并防止不必要的生成方法调用。您可以阅读有关性能最佳实践的更多信息。

PageView的itemBuilder只在确实需要索引时才调用索引,您不需要做任何事情else@Amir_P非常感谢你!我只是尝试禁用我自己的优化,即使每次调用最外面的
PageView
build()
时我都会创建所有页面,但每个页面的
build()
函数只有在必要时才会自动调用。你应该把你的回答作为一个答案,这样我才能使它成为这个问题的正确答案。再次感谢!不客气。我已经发布了它,PageView的itemBuilder只在真正需要索引的时候才调用它,而您不需要做任何事情else@Amir_P非常感谢你!我只是尝试禁用我自己的优化,即使每次调用最外面的
PageView
build()
时我都会创建所有页面,但每个页面的
build()
函数只有在必要时才会自动调用。你应该把你的回答作为一个答案,这样我才能使它成为这个问题的正确答案。再次感谢!不客气。我已经贴了