Flutter MultiBlocProvider 性能

Flutter MultiBlocProvider Performance

我为具有 底部导航栏 的应用分配了一个 MultiBlocProvider 来导航主要路线,例如 Home , 搜索, 愿望清单 ...

我使用 setState(){} 更改每条路线的 currentPage

最近我通过使用 flutter_bloc 包为每个人添加了 Blocs 并且我正在使用 BlocProvider 为每个 BlocBuilder,

 @override
  Widget build(BuildContext context) {
    return SafeArea(
      top: false,
      child: Scaffold(
        key: _scaffoldKey,
        body: PageStorage(
          child: Stack(
            children: <Widget>[
              AnimatedSwitcher(
                duration: Duration(milliseconds: 200),
                  child: BlocProvider<WishlistBloc>(
                      create: (BuildContext context) => WishlistBloc(WishlistRepository()),
                      child: currentPage),
              ),
              bottomBar(currentPageScroll)
            ],
          ),
          bucket: bucket,
        ),
      ),
    );
  }

可以使用MultiBlocProvider来提供我需要的所有BlocsProvider吗?

他们可能超过 10 个提供商,这会影响应用程序的性能吗?

没问题,MultiBlocProvider就是为此而生的。但是您需要了解,如果您在创建时还发送(对于 e.x.)初始化事件,该事件开始在所有 10 个区块中加载一些数据,您将遇到一些问题。因此,如果您遇到一些性能问题,请创建单独的 SO 问题,社区将帮助找到问题的根本原因。