2013-02-28 27 views
0

我的代码破坏我的当前活动,并开始一个新的活动,象下面这样:为什么要调用新的Activity的onDestroy()?

Intent intent = myActivity.getIntent(); 

myActivity.finish(); //Destroy my activity 

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

它的工作原理,以前的活动被破坏,新的活动开始,但开始新的活动,该活动的onDestroy()方法被称为,为什么?

+0

忽略'myActivity.finish();'这一行 – Shoshi 2013-02-28 07:59:52

+0

因为.finish()被调用的onDestroy()方法 – Arnold 2013-02-28 08:00:03

+0

可能重复HTTP。 ://stackoverflow.com/questions/10847526/what-exactly-activity-finis h-method-doing-doing – moDev 2013-02-28 08:01:36

回答

0

从Android docs: -

保护无效的onDestroy()

活动被销毁之前执行任何最后的清理。这可以 发生是因为该活动结束(有人叫 finish()就可以了,或者是因为系统暂时销毁活动的这 实例以节省空间。您可以区分这两种情况 之间与isFinishing()方法。

+0

请仔细检查我的问题。当然onDestroy()会被调用,因为我销毁了以前的活动,我的问题是为什么onDestroy()在开始一个新的活动后被调用。 – john123 2013-02-28 08:11:07

+1

我想他的意思是onDestroy被调用刚刚开始的活动......有同样的问题我的自我 – 2016-08-25 22:37:00

1

首次启动新的活动,然后再完成老

相关问题