Почему Cloud Firestore так много обновляется? [дубликат]

Aug 20 2020

Я работаю над проектом логистического склада. Идея в том, что я использую Cloud Firestore для хранения поддонов на стеллаже и могу найти его обратно в системе.

Я вижу свои поддоны в приложении, и оно работает хорошо. Cloud Firestore выполняет 50 000 операций чтения в день. Если я запускаю приложение, оно вычисляет количество документов в списке, и я вижу его на вкладке использования. Это нормально, но даже если я ничего не делаю в приложении, число увеличивается.

Есть ли решение читать данные только если открывается страница флаттера?

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';

class overzicht extends StatefulWidget {
  @override
  _overzichtState createState() => _overzichtState();
}

class _overzichtState extends State<overzicht> {
  Future _data;
  Future getPosts() async{

    var firestore = Firestore.instance;
    QuerySnapshot qn = await firestore.collection("locaties").getDocuments();
    return qn.documents;
  }

  @override
  void initState() {
    super.initState();

    _data = getPosts();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Center(child: Text('Overzicht')),backgroundColor: Color.fromRGBO(17, 32, 42, 1),),
      body: Container(
        child: FutureBuilder(
            future: _data,
            builder: (_, snapshot) {
          if(snapshot.connectionState == ConnectionState.waiting){
            return Center(
              child: Text('Loading...'),
              );
          } else{
           return ListView.builder(
               itemCount: snapshot.data.length,
               itemBuilder: (_, index){
                 return ListTile(
                   title: Text(snapshot.data[index].data["location"]),
                 );
           });
          }
        }),
      ),
    );

  }
}

Ответы

1 Emmanuel Aug 20 2020 at 23:12

На это уже был дан ответ здесь :

Если вы оставите консоль открытой для коллекции / документа с занятой операцией записи, консоль автоматически прочитает изменения, обновляющие отображение консоли. Это очень часто является источником неожиданных чтений.