Olá, estudante.
Tudo bem?
Você está absolutamente correto em sua análise. O Firebase Firestore cobra com base no número de leituras, gravações e exclusões que você realiza. Quando você adiciona um listener ao seu aplicativo, ele lê os dados uma vez e, em seguida, continua a ouvir todas as atualizações em tempo real.
Cada vez que um documento correspondente é adicionado, modificado ou removido, você é cobrado por uma leitura. Portanto, se um usuário deixar a tela aberta onde o listener está ativo, e os dados mudarem frequentemente, isso poderia consumir bastante do seu limite de leituras diárias.
Por isso, é importante considerar onde e quando usar listeners. Idealmente, você deve usá-los onde as atualizações em tempo real são realmente necessárias e benéficas para a experiência do usuário. Além disso, é importante remover o listener quando ele não for mais necessário (por exemplo, quando o usuário sai da tela) para evitar leituras desnecessárias.
Por exemplo, no código da aula, ao remover o refresh()
de várias partes do código, você está confiando no listener para atualizar os dados conforme necessário. Isso é uma boa prática, pois evita leituras desnecessárias. No entanto, você deve garantir que o listener seja removido quando o usuário sair da tela ou quando os dados não precisarem mais ser atualizados em tempo real.
Espero ter ajudado e bons estudos!