Зачем вызывать startLocationUpdates в onResume и stopLocationUpdates в onPause? - PullRequest
0 голосов
/ 18 марта 2019

В документах, касающихся получения обновлений местоположения , говорится, что startLocationUpdates() следует вызывать в onResume() и stopLocationUpdates() в onPause(), почему не в onStart() и onStop()?

Какая выгода для звонков в onResume() и onPause()?

1 Ответ

0 голосов
/ 18 марта 2019

Это «совет», а не обязательный.Преимущество состоит в том, чтобы не запрашивать обновления местоположения (и, следовательно, расходовать заряд батареи), когда вы не используете / не нуждаетесь в местоположениях, потому что активность находится в фоновом режиме.

Это зависит от вашего варианта использования, вы можете сделать это в onStart/ onStop, но если вы не используете местоположения во время переходов onPause-> onStop, лучше вставить onPause.

Если вы посмотрите на изображение ниже, onPause вызывается, когда активность переходит на передний план изатем onStop приостанавливается.

Одно небольшое отличие относительно фона / невидимости: если у вас есть действие с ThemeDialog, то вызывается onPause, но не onStop.

enter image description here

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