flutter怎么手动刷新_Flutter性能优化之局部刷新

这篇博客介绍了在Flutter中如何使用GlobalKey来实现Widget的局部刷新,以提高性能。作者通过示例展示了如何避免在复杂的Widget树中全局调用setState,而是仅更新特定的Widget,从而减少不必要的性能开销。
摘要由CSDN通过智能技术生成

Flutter中Widget分为StatefulWidget和StatelessWidget,分别为动态视图和静态视图,视图的更新需要调用StatefulWidget的setState方法,这会遍历调用子Widget的build方法。当一个主页面比较复杂时,会包含多个widget,如果直接调用setState,会遍历所有子Widget的build,这是非常不必要的性能开销,有没有单独刷新指定Widget的方式呢?这个时候就要用到GlobalKey了。

常规刷新Widget的方法

一个StatefulWidget包含一个Button,一个Text,通过点击Button调用主Widget的setState方法,刷新Text,示例如下:

3041564298371_.pic_hd.jpg

import 'package:flutter/material.dart';

class TestWidget extends StatefulWidget {

@override

State createState() {

return _TestWidgetState();

}

}

class _TestWidgetState extends State {

int _count;

@override

Widget build(BuildContext context) {

return Center(

child: Column(

c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值