簡體   English   中英

為什么只調用第一個活動的`onDestroy`,而不調用其他活動?

[英]Why only the first activity's `onDestroy` is called, not other activities?

(我搜索了很多,但似乎沒有確切的答案。)

假設有一個應用程序。 我們可以按下一個按鈕來開始另一個活動。

像這樣: Activity1 -> Activity2 -> Activity3

如果我們使用“后退”按鈕,它會調用finish() ,因此每個活動的onDestroy()都會被調用。

但是,如果我們關閉應用程序(通過按下“概覽”按鈕然后將應用程序滑出),

只有Activity1onDestroy()被調用。

  1. 為什么不調用其他活動的onDestroy()
  2. 這是否意味着其他活動在系統殺死它們之前仍然存在 (如果系統有足夠的資源,它們不會被破壞嗎?)

理想情況下,當您從overview中強制關閉App時,它會殺死整個應用程序進程並且所有activities都被銷毀,並且您的活動堆棧根(即ActivityA )的onDestroy方法被調用,對於其他activities ,該method不會被觸發,但stack本身與進程一起被破壞。 一旦進程被破壞,沒有任何東西是活着的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM