Слушатели пожарного магазина - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть несколько таблиц, из которых я получаю данные при запуске приложения.Я использую 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 МБ, а нагрузка минимальная.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...