Главная » Разработка для Android » ПРИОСТАНОВЛЕНИЕ И ВОЗОБНОВЛЕНИЕ РАБОТЫ MAPACTIVITY в Android приложении

0

 

Давайте ненадолго сосредоточимся на картографических активностях и подумаем о том, как нам сэкономить энергию батареи. Оказывается, в Android это довольно просто.

На мобильных платформах срок действия батареи – это все и вся, и мы, в отличие от приложения, отображаемого в данный момент, хотим сделать все возможное, чтобы наша программа потребляла минимум энергии. Вспомните наш разговор о жизненном цикле Android. Тогда мы говорили о том, что, когда одна активность (например, Microjobs) запускает другую активность (например, MicroJobsList), новая активность занимает экран, а активность, которая делала вызов, смещается в стек активностей, которые ожидают запуска. В этот момент Android вызывает подпрограмму onPause в той активности, которая делала вызов, чтобы эта активность могла подготовиться к гибернации. Тогда в Micro-Jobs. Java (или в любой MapActivity, использующей геолокационные обновления), нам потребуется отключить эти обновления. Таким образом, мы хотя бы сэкономим циклы, которые потратились бы на обновление, и можем позволить телефону потратить еще меньше энергии, если переведем поставщик геолокации в состояние покоя, в котором расходуется совсем мало ресурсов.

Когда вызванная активность (в нашем случае – MicroJobsList) завершает работу, а активность, делавшая вызов, поднимается наверх из стека и занимает экран, фреймворк вызывает метод onResume в вызывающей активности. В MapActivity при активации этого метода мы хотим вновь включить обновления информации о местоположении.

В Microjobs методы onPause и onResume очень просты:

Обратите внимание: если бы в состав нашего MyLocationOverlay входила картушка компаса, ее тоже потребовалось бы сначала отключить, а потом снова активизировать. Иначе система впустую тратила бы циклы и заряд батареи, обновляя направление на картушке компаса, которая не видна на экране.

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии