0

Мой код уничтожить мою текущую деятельность и начать новую деятельность, как показано ниже:Почему вызывается новая операция onDestroy()?

Intent intent = myActivity.getIntent(); 

myActivity.finish(); //Destroy my activity 

myActivity.startActivity(intent); //Start my new activity 

Он работает, предыдущая деятельность разрушается и начинает новую деятельность, но ПОСЛЕ начать новую деятельность, onDestroy() метода активность в называется, почему?

+0

игнорировать 'myActivity.finish();..' эту строку – Shoshi

+0

Поскольку .finish() вызывает метод OnDestroy() – Arnold

+0

возможный дубликат HTTP. : //stackoverflow.com/questions/10847526/what-exactly-activity-finis h-method-is-doing – moDev

ответ

0

От андроида docs: -

защищен недействительный OnDestroy()

Выполните любую окончательную очистку перед тем, как деятельность будет уничтожена. Это может происходить потому, что деятельность заканчивает (кто-то назвал finish() на него, или потому, что система временно разрушает этот экземпляр деятельности, чтобы сохранить пространство. Вы можете различать между эти два сценария с помощью метода isFinishing().

+0

Пожалуйста, внимательно проверьте мой вопрос. Конечно, onDestroy() будет вызван, потому что я уничтожаю предыдущую активность, поэтому мой вопрос заключается в том, почему onDestroy() вызывается после запуска нового действия. – john123

+1

Я предполагаю, что он означает, что onDestroy вызван только что начатой ​​деятельностью ... имея тот же вопрос, что и я сам –

1

Начните новую активность, а затем закончить старый

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