Flutter MultiBlocProvider 性能

Wai*_*aly 1 performance android flutter bloc flutter-bloc

我分配了MultiBlocProvider一个应用程序,该应用程序有一个底部导航栏,用于导航主页搜索愿望清单等主要路线...

setState(){}用来改变currentPage每条路线。

最近,我通过使用 package 向其中每个添加了Blocflutter_bloc,并且我使用BlocProviderpackage 向每个提供 bloc 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,
        ),
      ),
    );
  }
Run Code Online (Sandbox Code Playgroud)

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

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

Yau*_*pir 5

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