2013-02-28 60 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

首次啓動新的活動,然後再完成老

相關問題