Я создаю приложение, которое отслеживает местоположение близлежащих кафе и позволяет пользователям просматривать доступные продукты каждого магазина.Я использую Firestore для хранения всех данных по каждому продукту и демонстрации этих данных пользователю через программу recyclerview + firestoreRecyclerAdapter.Оно работает.Однако данные о продукте загружаются очень медленно.Потребуется несколько секунд или даже минут, чтобы загрузить программу просмотра.Даже после полной загрузки рециркулятора эта проблема сохраняется.
Теперь, я думаю, это потому, что он читает из базы данных, перегружая основной поток пользовательского интерфейса.Поэтому я попытался выполнить эти операции чтения в asyncTask, но я не могу извлечь значения из asyncTask, так как он выводит данные после того, как активность запросила их.Выдает мне ошибку.
Я попытался уменьшить объем данных, извлекаемых из пожарного хранилища.Но это тоже не помогает.
Я думаю о попытке загрузить все данные о продукте из хранилища в общие настройки, во внутреннее хранилище или в какой-то другой пакет во время запуска приложения.Таким образом, запросы не нужно отправлять на сервер.Таким образом, сервер может служить способом обновления этих данных, а не постоянной попыткой их получения.
Однако я заблудился, как это сделать.Как загруженные данные хранилища данных могут сказать пользовательский объект, сохранить этот список пользовательских объектов в массиве, а затем предоставить способ загрузки этих данных и последующего доступа к ним?