Производительность Flutter MultiBlocProvider

У меня есть MultiBlocProvider, назначенный приложению, в котором есть нижняя панель навигации для навигации по основным маршрутам, таким как Дом, Поиск, Список желаний < / em> ...

Я использую setState(){}, чтобы изменить currentPage для каждого маршрута.

Недавно я добавил блоки к каждому из них, используя пакет flutter_bloc, и я использую 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 поставщиков, повлияет ли это на производительность приложения?


person Wail Hayaly    schedule 02.03.2020    source источник


Ответы (1)


Ничего страшного, MultiBlocProvider создан для этих целей. Но вы должны понимать, что если вы вместе с вашим созданием также отправите (для e.x.) событие инициализации, которое начало загружать во всех 10 блоках некоторые данные, у вас будут некоторые проблемы. Итак, если у вас возникнут проблемы с производительностью, создайте отдельный вопрос SO, и сообщество поможет найти основную причину этого.

person Yauhen Sampir    schedule 03.03.2020