0
在我的應用程序中,我正在檢查我的活動的事件onDestroy
,其中我將cancel()
我的吐司顯示。但是我按了Android Home
,我的應用程序仍在後臺運行,但在我的日誌中,它觸發了我的活動的onDestroy
。onDestroy發射而不是onPause
從我讀到的情況來看,只要活動沒有關閉,狀態就是,但這一次看起來Android Home
會觸發onDestroy
。我錯了嗎?
在我的應用程序中,我正在檢查我的活動的事件onDestroy
,其中我將cancel()
我的吐司顯示。但是我按了Android Home
,我的應用程序仍在後臺運行,但在我的日誌中,它觸發了我的活動的onDestroy
。onDestroy發射而不是onPause
從我讀到的情況來看,只要活動沒有關閉,狀態就是,但這一次看起來Android Home
會觸發onDestroy
。我錯了嗎?
在Android文檔,它說:
* onPause()
時,例如,彈出一個對話框,叫(即,當活動仍然在背景中可見)。但是,如果沒有更多可用內存onStop()
可能會被調用。
* onStop()
在按下主頁按鈕,後退按鈕或啓動完全覆蓋初始活動的其他活動時被調用。
但是,如果沒有更多的內存可用,系統將調用onDestroy()
,這樣可以釋放內存。
推薦閱讀http://developer.android.com/training/basics/activity-lifecycle/index.html –
我在兩臺設備Xperia Z和LG Optimus L-05E上安裝了相同的應用程序,當我按Home按鈕,在Xperia'onDestroy'沒有觸發,但在LG觸發。我申請了'onDestroy'來跟蹤狀態。 –
是的,這是可能的,它是設備特定的。例如,如果主屏幕運行的是動態壁紙,則更有可能調用'onDestory' get來釋放一些內存。 – Johannes