我还是个初学者,当我试图找到添加多个页面的方法时,我发现了Navigator.op()和.ush()方法.显然,他们从所有页面加载所有窗口小部件,然后将它们重叠显示.这肯定意味着糟糕的性能,因为所有页面都是在任何时候加载的?
有没有更好的方法来制作多个页面,或者它不会对性能产生明显的影响?
我期待着有一种方法可以将新页面本身添加到屏幕上
我还是个初学者,当我试图找到添加多个页面的方法时,我发现了Navigator.op()和.ush()方法.显然,他们从所有页面加载所有窗口小部件,然后将它们重叠显示.这肯定意味着糟糕的性能,因为所有页面都是在任何时候加载的?
有没有更好的方法来制作多个页面,或者它不会对性能产生明显的影响?
我期待着有一种方法可以将新页面本身添加到屏幕上
Navigator.pop()和Navigator.push()方法用于在不同页面或屏幕之间导航.但是,它们并不是一次从所有页面加载所有的小部件,相反,Ffltter使用一个小部件树,只构建当前需要的或在屏幕上可见的小部件.这有助于通过仅呈现小部件树的相关部分来优化性能.
当您使用Navigator.ush()将新页面推送到导航堆栈时,Ffltter会将新页面添加到堆栈的顶部,并且只会活动地构建和呈现当前顶部页面的小部件.当您使用Navigator.op()弹出页面时,顶部页面将从堆栈中移除,前一页面将成为顶部页面,其小部件将被重新构建和显示.
Ffltter的窗口小部件树 struct 和处理导航的方式使其在性能方面变得高效.该框架确保仅构建和显示当前可见页面上的小部件.
如果您关心的是性能,那么优化您的窗口小部件树并有效地利用状态管理来最大限度地减少不必要的重新构建是非常重要的
这些方法是处理页面间导航的有效方法,如果正确实现和优化,它不一定会对性能产生负面影响.