Производительность интерфейса с GPS на Android - PullRequest
1 голос
/ 15 декабря 2011

Контекст

Я работаю над приложением, которое отображает события в области и вычисляет расстояние до этих событий. Идея в том, что когда вы двигаетесь, расстояние обновляется. Я успешно смог получать обновления местоположения от менеджера местоположений в Android, поэтому основы работают.

Вопрос

Я заметил, что производительность пользовательского интерфейса сильно падает (низкая частота кадров), когда я включаю GPS и устанавливаю порог 10 секунд для обновлений местоположения и порог расстояния 1 км. Я не думаю, что это нормальное поведение, и мне интересно, что я могу сделать для улучшения производительности.

Обратите внимание

Приложение построено с использованием Mono для Android 4.0, но та же проблема возникает, когда я перестраиваю ту же активность, используя только Java.

Ответы [ 2 ]

3 голосов
/ 15 декабря 2011

Поскольку обратные вызовы обрабатываются в основном потоке пользовательского интерфейса, они могут замедлить ваш пользовательский интерфейс.Решение: предоставить петлитель для разделения данных о местоположении и пользовательского интерфейса:

http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates%28java.lang.String,%20long,%20float,%20android.location.LocationListener,%20android.os.Looper%29

1 голос
/ 15 декабря 2011

Используете ли вы поток, чтобы получить обновленное местоположение.если нет, то используйте это и используйте обработчик для отображения обновленной информации в UI

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