Главная » Разработка для Android » МЕТОДЫ ЖИЗНЕННОГО ЦИКЛА КЛАССА APPLICATION

0

Методы жизненного цикла класса Applіcatіon довольно редко используются в простых приложениях, что неудивительно. Ими не следует злоупотреблять даже в сложном приложении. Очень легко набить переопределения класса Applіcation такими данными, которые будут висеть в памяти, влияя на работу нескольких активностей. Таким образом, мы на корню губим существующие в Android возможности управления ресурсами на покомпонентной основе. Например, если вы перенесете ссылку на определенные данные от объекта Activity к объекту Application, то та борьба за ресурсы, которая разворачивается в системе в условиях дефицита памяти, просто перенесется в жизненный цикл приложения, и управлять этими данными придется отдельно от жизненного цикла активности.

Здесь мы реализуем методы жизненного цикла класса Application и покажем, какое место они занимают в жизненном цикле приложения Android. Кроме того, вам может быть полезна информация, выводимая при журналировании этих методов:

Ранее мы упоминали о том, что во многих приложениях не требуется делать подклассы Applіcation. Поэтому мастер новых проектов Android не создает подкласс Applіcation, а также не ставит на него ссылку в файле описания. Подобно исходному объекту, который запускается одновременно с интерактивным приложением, подкласс Application, который вы создаете, инстанцируется системой Android в рамках запуска приложения. Все происходит так же, как и с инстанцированием Activity. Система использует свойство android: name тега applіcation и создает правильный экземпляр класса Application. Простейший способ сделать все это правильно – открыть вкладку Application (Приложение) в редакторе описаний (манифестов). Первое поле на этой вкладке называется Name (Имя) (рис. 11.7). Если нажать кнопку Browse (Обзор) рядом с этим полем, то можно отобразить подклассы Applіcation, присутствующие в вашем приложении.

Рис. 11.7. Поле Name (Имя) на вкладке Application (Приложение) редактора описаний, где можно ввести имя определенного вами подкласса от Application

Как и в случае с методами жизненного цикла класса Activity, важнее всего знать, когда вызываются методы жизненного цикла Application. Разумеется, это можно узнать при отладке приложения и путем установки контрольных точек в каждом методе. Но чаще наиболее интересную информацию удается добыть, наблюдая за поведением приложений, работающих подолгу, и фильтруя регистрационный журнал по тегам, используемым в подклассах Activity и Application. Тогда сразу становится понятно, когда вызываются методы жизненного цикла.

Два обратных вызова, которые особенно интересно отследить в классе Applіcation, – это onLowMemory и onTerminate. Они с достаточной точностью сообщают вам, когда с точки зрения системы начинается дефицит памяти и когда завершается ваше приложение. Вторая ситуация обычно неочевидна, поскольку в большинстве приложений Android не требуется явного выхода из программы. Это объясняется особенностями управления памятью в Android, во взаимодействии с жизненными циклами компонентов. Такой механизм легко удаляет из памяти неиспользуемый код, если он был правильно реализован – с учетом проблем, связанных с жизненными циклами и с управлением памятью.

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

По теме:

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