Как убрать активность в нижней части стека активности? - PullRequest
1 голос
/ 20 февраля 2011

В моем приложении у меня около десятка Активов.Однако большинство из них имеют несколько горячих клавиш, поэтому пользователь может запускать самые важные из любого места в приложении.Это означает, что пользователь может просто перепрыгнуть приложение, заполняя стек Activitiy Активами.Я не могу изменить это поведение, потому что мне нужна функция истории, которую предоставляет стек (поэтому я не могу просто использовать опцию noHistory).

Очевидно, я бы хотел что-то предпринять против этой возможной утечки памяти,Можно ли удалить запись из нижней части стека активности, если размер стека больше определенного числа?Таким образом, стек запоминает только самые новые действия X (например, 30)?

Спасибо

Ответы [ 2 ]

3 голосов
/ 20 февраля 2011

Очевидно, я бы хотел что-то предпринять против этой возможной утечки памяти.

Какая возможная утечка памяти?Android будет уничтожать действия, необходимые для восстановления памяти.Если пользователь НАЗАД нажмет кнопку на своем Android-устройстве, уничтоженном, действие будет воссоздано с исходным Intent и передано заполненному вами комплекту через onSaveInstanceState().

Возможно ли удалитьзапись из нижней части стека активности, если размер стека больше определенного числа?Таким образом, стек запоминает только самые новые действия X (например, 30)?

Не то, что я знаю.Опять же, вам это не нужно.

1 голос
/ 20 февраля 2011

История стека будет управляться Android Runtime; вам не нужно беспокоиться об этом.

Однако, если вы запустили действие ранее и хотите перенести его на передний план, вы можете сделать это, установив соответствующие Намеренные флаги (например, ACTIVITY_FLAG_REORDER_TO_FRONT). Таким образом у вас не будет дублирующихся операций в стеке, если это не нужно. Обратите внимание, что это повлияет на хронологическую / линейную природу истории.

...