Мое приложение совершает несколько звонков getFromLocationName
из класса android.location.Geocoder;
, которое в настоящее время обрабатывается в моей активности, а также отображает некоторые данные в зависимости от результатов этого вызова.Android; кеширование данных геокодирования?
Это может быть довольно медленно, например, до того, как активность может загрузить его, сначала необходимо выполнить различные вызовы, и это зависит от сетевого соединения.
После того, как у меня есть результаты, я на самом деле не нужно, чтобы обновить, что (я имею в виду, как часто делают места и географические координаты меняются?)
Мой вопрос: Как я могу лучше всего избегать того, чтобы запросить эти данные каждый раз, когда мое приложение работает. Должен ли я что-то делать с сервисом, который загружает их при запуске? (может быть довольно медленным, если он должен запрашивать более 50 раз). ИЛИ должен ли я делать вызов, хранить результаты в SQL, а затем запрашивать в следующий раз, если в настоящее время я не получаю результаты?
Ну, мне не нужен SQL Lite для чего-либо еще (на данном этапе). Будет ли какая-либо компромиссная оценка эффективности, т. Е. Это быстрее, чем вручную запрашивать службу определения местоположения каждый раз? – Jimmy
@James Я бы сказал, что наиболее важными факторами являются то, что 1) он локально хранится на вашем телефоне и быстро доступен для доступа 2) получение ваших координат gps займет некоторое время, чтобы gps заблокировал (или через сотовые вышки, если gps выключен). Таким образом, скорость будет быстрой, но самой большой проблемой является то, как «холодные» или устаревшие (как недавние) ваши последние GPS-координаты были. И вы все равно должны будете найти координаты в первый раз. И пользователи могут перемещаться много (если, скажем, автомобиль). Я все еще думаю, что кэширование может помочь вам (возможно, дать пользователю возможность ручной настройки GPS?) –
Звучит неплохо, как насчет первоначального запроса и хранения/чтения из SQL Lite, если все они находятся в службе или безопасно оставаться в деятельности? (Просто подключившись к советам здесь) – Jimmy