2010-10-13 4 views
2

У меня довольно стандартное приложение для iPhone, которое создает серию из 7 уникальных операций, инициализированных намерениями.Android-атака активности активности - приложение перезапускается на полпути через приложение

Однако, если приложение выходит из строя в 7-й операции, приложение перезапускается на телефоне пользователей около 5-го действия. Тогда проблема состоит в том, что информация, собранная в действиях 1-4, имеет значение null, то есть приложение бесполезно, и единственный способ заставить приложение работать снова - либо постоянно отжимать, либо убивать процесс.

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

ответ

0

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

this.finish(); 

после начала следующего действия.

Проблема заключается в том, что теперь пользователь не может нажать кнопку «Назад», чтобы изменить данные, которые были вставлены в предыдущие шаги, поскольку эти действия исчезли.

У вас может возникнуть общая проблема с сохранением данных при паузах и циклах возобновления. Попробуйте вызвать свой эмулятор или телефон, когда вы находитесь в одном из более активных действий, а затем вернитесь к приложению, нажав кнопку «Домой». Вы можете видеть, что данные предыдущих действий теперь также пусты. Поиграйте с этим поведением и посмотрите на application life cycle documents.

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

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