Сохранить android.app. Состояние приложения - PullRequest
1 голос
/ 09 августа 2010

Я столкнулся с проблемой, используя мой собственный подкласс android.app.Application.В моем приложении много действий, и я использую собственное ПЗУ, которое потребляет довольно много памяти.Что происходит, когда я запускаю стороннее действие (Камера), мое приложение уничтожается.Мой подкласс Application хранит важные данные для всего приложения, поэтому оно не может работать без него.android.app.Application не имеет методов для сохранения или восстановления состояния приложения.У активности они есть, но они не подходят.

Есть предположения, как выполнить состояние сохранения / восстановления на подклассе приложения?

ОБНОВЛЕНИЕ Мне удалось сделать это с помощьюзаполнение Bundle, полученного из onSaveInstanceState, и восстановление значений в onCreate.Но есть ли лучший способ?

1 Ответ

0 голосов
/ 09 августа 2010

Согласно http://developer.android.com/guide/topics/fundamentals.html

со ссылкой на onCreate()

Вызывается при первом создании операции.Здесь вы должны выполнить все ваши обычные статические настройки - создавать представления, связывать данные со списками и так далее.Этому методу передается объект Bundle, содержащий предыдущее состояние действия, если это состояние было захвачено (см. «Сохранение состояния активности», позже).Всегда следует onStart ().

в отношении onPause()

Вызывается, когда система собирается возобновить другое действие.Этот метод обычно используется для фиксации несохраненных изменений в постоянных данных, остановки анимации и других вещей, которые могут потреблять процессор, и так далее.Он должен делать все, что он делает очень быстро, потому что следующее действие не будет возобновлено, пока оно не вернется.Затем следует либо onResume (), если действие возвращается назад, либо onStop (), если оно становится невидимым для пользователя.

Использование объектов Bundle - это способ, которым вы должнысохранить ваше состояние в случае, если приложение будет убито.Предполагается, что метод onPause() является сигналом для вашего приложения, что теперь он находится в состоянии, когда его можно уничтожить для восстановления ресурсов.Методу onCreate() передается пакет, так что он может определить, где приложение ранее остановилось, чтобы обеспечить бесперебойную работу пользователя, в то же время позволяя системе убивать приложение, когда ему нужны ресурсы.

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