TL; DR: Могу ли я оставить потоки открытыми во флаттере?
У меня есть определенный пользовательский интерфейс, который требует другого стиля панели приложений, а не обычного, где боковой ящик сдвигается слева вверх по главному экрану. Дизайн больше похож на то, что весь главный экран перемещается вправо, а внизу есть слой, который действует как боковая панель.
Чтобы было понятно, подумайте об этом как о том, что ящик включен вверху экрана и движется, я хочу наоборот. Я хочу, чтобы главный экран был вверху, а ящик внизу (с точки зрения z-индекса), а главный экран двигался.
Я создал два виджета, один для ящика приложений и еще один для главного экрана, и использование виджета стека и некоторых анимаций заставило его работать. Для регистрации обратной связи пользователя о том, какой экран он / она хочет открыть, я передаю данные из этого виджета боковой панели в виджет главного экрана, используя потоки, и сохраняю их в локальном состоянии основного экрана и показываю все, что нужно показать на это.
Я прикрепляю код ниже:
Это основной файл, в котором я использую стек и анимацию, чтобы заставить UI работать:
![main file](https://i.stack.imgur.com/0YHsR.png)
Вот как я регистрирую отзывы пользователей и отправляю их на главный экран, используя потоки:
![enter image description here](https://i.stack.imgur.com/w6VU0.png)
И это как я получаю отзывы и показываю, какая страница должна отображаться:
![enter image description here](https://i.stack.imgur.com/Ftm4Z.png)
Вот как выглядит мой класс stream / blo c:
![enter image description here](https://i.stack.imgur.com/D3uRj.png)
Мой главный вопрос здесь о подходе, есть ли лучший способ сделать это? Я спрашиваю об этом, потому что знаю, что потоки нельзя оставлять открытыми, а это влияет на производительность приложения. Но при таком подходе я должен все время оставлять его открытым, поскольку пользователь должен иметь возможность выбрать нужную страницу в любой момент времени.
Это нормальная практика - оставлять потоки open в таком сценарии ios, можете ли вы рассказать мне о некоторых случаях, когда потоки должны оставаться открытыми, если такие случаи существуют? (Например, я думаю, что autosuggest / search-as-you-type может использовать потоки все время, не так ли?).