Flutter Firestore конвертирует поток в будущее - PullRequest
0 голосов
/ 30 мая 2020

У меня есть поток firestore во флаттере, который я хотел бы вместо этого сделать в будущем, чтобы я мог разбивать запросы на страницы. В настоящее время я периодически увеличиваю предельную переменную в приведенном ниже коде и перезагружаю весь исходный поток плюс новые данные. Это очень раздражает, потому что каждый раз, когда лимитная переменная увеличивается, виджет (список) прокручивается вверх. Я хотел бы спросить, как преобразовать поток ниже в будущее и как поместить его содержимое в список . Моя цель заключается в том, чтобы содержимое всех будущих вызовов накапливалось в списке, и мой список был создан из этого массива, надеюсь, без прокрутки к началу каждый раз.

Другая причина это необходимо для экономии памяти на клиентском устройстве. Когда пользователь прокручивает вниз, я хотел бы удалить элементы из начала списка, чтобы сэкономить память, и перезагрузить их только в том случае, если пользователь выполняет прокрутку вверх. Мой проект - это приложение для социальных сетей, поэтому я предвижу, что пользователи будут бесконечно прокручивать страницу вниз и использовать всю память телефона. Я новичок в трепетании, поэтому я также хотел бы спросить, является ли такое использование памяти допустимым. 1012 * Наконец, моя функция увеличения лимита:

  void initState() {
    if (lastScrollPosition != null) _scrollController.jumpTo(lastScrollPosition);
    _scrollController.addListener(() {
      final maxScroll = _scrollController.position.maxScrollExtent;
      // print(maxScroll);
      final currentScroll = _scrollController.position.pixels;
      // print(currentScroll);
      if (maxScroll - currentScroll <= _scrollThreshold) {
        setState(() {
          lastScrollPosition = currentScroll;
          streamLimit += 1;
          print('increasing');
        });
      }
    });
  }
...