У этой проблемы могут быть следующие причины:
- Приложение не было закрыто раньше
Если вы разрабатываете с Eclipse и эмулятороми старая версия вашего приложения не обязательно будет убита, если вы что-то исправите и снова протестируете приложение.Eclipse только говорит эмулятору запустить основное действие .
Таким образом, ваш стек действий, возможно, выглядел следующим образом:
Main Activity -> Activity A -> Activity B -> Activity A
, таким образом, нажатие back
из последнего вызовет действия в порядке
Activity B -> Activity A -> Main Activity -> Home-Screen
, еслиВы не выходите из приложения и просто позволяете эмулятору снова создать Main-Activity, это произойдет:
Main Activity -> Activity A -> Activity B -> Activity A -> Main Activity
Таким образом, любые действия с этого момента расширят стек операций, но не обязательно очищают старые записи.из вашего стека.(это произойдет, только если система сочтет их ненужными и убивает их)
Это возможно (но маловероятно)что вы сами вызвали это поведение.
Если вы не переопределяли такие методы, как onPause()
, вы наверняка не вызывали это.Некоторые приложения форсируют начало действия в методе onPause () (это очень плохой стиль, поскольку это не ожидаемое поведение).Это может изменить ваш стек активности.