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()
函数只有在必要时才会自动调用。你应该把你的回答作为一个答案,这样我才能使它成为这个问题的正确答案。再次感谢!不客气。我已经贴了