![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flutter
文章平均质量分 84
verlecon
这个作者很懒,什么都没留下…
展开
-
在Flutter中如何处理耗时任务
Future和async/await是Dart中异步编程的核心概念,Flutter也广泛使用这些API来处理耗时任务。Future表示一个异步操作的结果,而async/await则用于编写异步代码,以避免在UI线程中执行耗时操作。// 处理响应数据 }原创 2023-03-27 21:02:37 · 957 阅读 · 0 评论 -
Flutter的Widget刷新时机以及优化
如果新的widget和旧的widget的Key相同,那么Flutter将会重用旧的widget,并仅更新它的属性。我们可以为每个列表项都指定一个唯一的Key,并确保它们的Type不变,这样当列表项的状态发生变化时,Flutter将只更新发生了变化的列表项,而不会更新其他列表项。由于它们的Type相同,Flutter将只更新它们的属性,而不会创建新的widget。如果新的widget和旧的widget的Type不同,那么Flutter将会创建一个新的widget,并将其插入到widget树中。原创 2023-03-30 14:08:13 · 1131 阅读 · 0 评论 -
Flutter中的Widget Key简介
如果我们在应用程序中运行上述代码,并点击任意一个计数器的按钮,所有的计数器都会被重新构建,导致计数器的状态丢失。总之,通过为每个widget指定Key,我们可以帮助Flutter正确地区分不同的widget,从而保留widget的状态,并提高应用程序的性能和响应性能。当我们使用StatefulWidget时,如果没有为widget指定Key,则当widget树中的某个节点发生变化时,Flutter会重新创建所有的State对象,这可能导致widget的状态丢失。原创 2023-03-30 11:52:14 · 791 阅读 · 4 评论 -
Flutter 使用Key来保持Widget的State对象
由于我们为MyCounter widget指定了全局唯一的key值,当它被移除时,它的_State对象不会被销毁,而是被保留在Flutter的Element树中。在_State类中,我们定义了一个私有变量_count来保存计数器的值,并在按钮被点击时调用setState来更新widget的状态。但是,如果我们需要保持StatefulWidget不被销毁,可以将它的key属性设置为一个全局唯一的值,这样当widget被移除时,它的State对象不会被销毁,而是被保留在Flutter的Element树中。原创 2023-03-30 15:45:43 · 387 阅读 · 0 评论