Вопрос

Мое приложение делает несколько звонков getFromLocationName от android.location.Geocoder; Класс, это в настоящее время обрабатывается в моей деятельности, которая также отображает некоторые данные Depedant в результате этого вызова.

Это может быть довольно медленным, например, до того, как деятельность сможет загрузить его сначала, должна завершить различные вызовы, и это зависит от сетевого соединения.

Как только у меня появятся результаты, мне не нужно обновлять это (я имею в виду, как часто меняются места и координаты гео?)

Мой вопрос : Как я могу лучше избегать запроса на эти данные каждый раз, когда запускается мое приложение. Должен ли я что -то сделать с сервисом, которая загружает их всех в стартап? (Может быть довольно медленным, если он должен запросить 50+ раз). Или я должен сделать звонок, сохранить результаты в SQL, а затем запросить только в следующий раз, если я в настоящее время не буду удерживать результаты?

Это было полезно?

Решение

Если вы хотите быстро его кэшировать, я бы порекомендовал сохранить самые последние результаты в базе данных SQLite. Вы, вероятно, могли бы даже уйти с помощью Preferencemanager Для быстрого хранения, если вам не нужна база данных для чего -либо еще. Просто храните последние координаты и DateTime, затем проверьте, истек ли DateTime после X минут или x часов (если вы хотите сделать).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top