2012-06-01 3 views
0

Я до сих пор довольно новичок в понимании android и слышал о стеках активности.Активность стеков в android

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

Мой вопрос являются:

  • ли удаление активности стека причина андроида, чтобы сохранить больше памяти? например. таких как активность, которая имеет много изображений.

  • Было бы лучше удалить стеки деятельности, зная, что вы хотите, чтобы они начинались с нуля в первую очередь ?.

Если есть что-то, что должно быть исправлено в моем втором предложении, пожалуйста, укажите его также.

ответ

2

Было бы лучше удалить стеки деятельности, зная, что вы хотите, чтобы они начали с нуля в первую очередь ?.

активность стека стек назад важна, поскольку она позволяет средства навигации обратно с экрана на экран. Без этого не было бы «обратной кнопки» навигации, и понятие «задача» не существовало бы. Android оптимизирован для управления памятью (см. Документацию по жизненному циклу Activity). Действия, которые размещаются на заднем стеке, все еще управляются системой; так что вы не делаете ничего глупого, не должно быть никаких проблем. :)

Было бы лучше удалить стеки деятельности, зная, что вы хотите, чтобы они начали с нуля в первую очередь ?.

Я не уверен, что правильно понимаю этот вопрос, но ответ скорее всего «нет». Если вы хотите начать с нуля (т. Е. Очистить задний стек), то при запуске нового действия вы можете использовать флаг FLAG_ACTIVITY_CLEAR_TOP.

+0

Другой вопрос, если вы не возражаете. Calling finish() возвращает предыдущее действие и, таким образом, сообщает, что класс активности будет завершен и собран мусор. Означает ли это, что активность в стеке исчезает? – Juju

+0

Да. Когда вы вызываете 'finish()', верхняя активность выносится из стека и уничтожается. Когда вызывается 'onDestroy()', все ресурсы памяти активности освобождаются и в конечном итоге будут мусором, собранным системой. Это то, что по умолчанию делает кнопка «Назад» (обратите внимание, что некоторые приложения переопределяют кнопку «Назад», поэтому это может не всегда быть). –

Смежные вопросы