У меня есть несколько таблиц, из которых я получаю данные при запуске приложения.Я использую get () и получаю несколько таблиц довольно медленно, поэтому я получаю очень медленный запуск приложения.Около 5 секунд (невероятно).
Так что моя идея состоит в том, чтобы получить все данные только один раз, а позже просто подключить слушателей для изменений Firestore.Я пытался использовать addSnapshotListener, но сначала он получает данные, и снова я трачу 5 секунд, чтобы получить все данные, которые не нужны.
Есть ли способ просто подключить слушателя без получения данных?
Как правило, мне нужен какой-то умный подход для этого.Это не пользовательский сервер, который следит за обновлениями и периодически синхронизирует.
Есть идеи?
Запросы довольно просты, и это один из примеров:
FirebaseFirestore.getInstance().collection("someData").get().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
for (final QueryDocumentSnapshot document : task.getResult()) {
//extract data
}
} else {
Log.w(TAG, "Error getting documents.", task.getException());
}
});
Таблица может иметьдо 10 полей, не более.У меня 8 таблиц, поэтому максимум 80 полей.Кроме того, у меня мало данных о Firestore, около 200 результатов получено в onSnapshotListener.Как долго это будет после года использования?Очень длинный.
Сеть исправна, 100 МБ, а нагрузка минимальная.