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 问题,社区将帮助找到问题的根本原因。
我为具有 底部导航栏 的应用分配了一个 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 问题,社区将帮助找到问题的根本原因。