Flutter MultiBlocProvider 性能
Posted
技术标签:
【中文标题】Flutter MultiBlocProvider 性能【英文标题】:Flutter MultiBlocProvider Performance 【发布时间】:2020-06-15 01:19:46 【问题描述】:我有一个MultiBlocProvider
分配给一个应用程序,该应用程序有一个底部导航栏,可以在主页、搜索等主要路线中导航, 愿望清单 ...
我使用setState()
为每条路线更改currentPage
。
最近我通过使用flutter_bloc
包为每个人添加了Blocs,并且我正在使用BlocProvider
为每个BlocBuilder
提供bloc,
@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
提供我需要的所有 BlocsProviders 吗?
他们可能超过 10 个提供商,这会影响应用程序的性能吗?
【问题讨论】:
【参考方案1】:绝对没问题,MultiBlocProvider 就是为此目的而创建的。但是您需要了解,如果您在创建时还发送(例如)初始化事件,该事件开始在所有 10 个块中加载一些数据,您将遇到一些问题。因此,如果您遇到一些性能问题,请创建单独的 SO 问题,社区将帮助您找到问题的根本原因。
【讨论】:
以上是关于Flutter MultiBlocProvider 性能的主要内容,如果未能解决你的问题,请参考以下文章
MultiBlocProvider 未实例化所有 bloc 提供程序 - 如何正确使用 MultiBlocProvider?
在“MultiBlocProvider”中使用“BlocBuilder”时出现错误
Flutter BLOC 和 Provider 如何注册在一起
使用不包含 PhoneAuthenticationBloc 类型的 Bloc 的上下文调用 BlocProvider.of()。扑
Xcode 13 和 Flutter 2.5.1 - 致命错误:找不到“Flutter/Flutter.h”文件 #import <Flutter/Flutter.h>