2013-08-01 42 views
0

在我的應用程序中,我正在檢查我的活動的事件onDestroy,其中我將cancel()我的吐司顯示。但是我按了Android Home,我的應用程序仍在後臺運行,但在我的日誌中,它觸發了我的活動的onDestroyonDestroy發射而不是onPause

從我讀到的情況來看,只要活動沒有關閉,狀態就是,但這一次看起來Android Home會觸發onDestroy。我錯了嗎?

回答

3

在Android文檔,它說:

* onPause()時,例如,彈出一個對話框,叫(即,當活動仍然在背景中可見)。但是,如果沒有更多可用內存onStop()可能會被調用。

* onStop()在按下主頁按鈕,後退按鈕或啓動完全覆蓋初始活動的其他活動時被調用。

但是,如果沒有更多的內存可用,系統將調用onDestroy(),這樣可以釋放內存。

+0

推薦閱讀http://developer.android.com/training/basics/activity-lifecycle/index.html –

+0

我在兩臺設備Xperia Z和LG Optimus L-05E上安裝了相同的應用程序,當我按Home按鈕,在Xperia'onDestroy'沒有觸發,但在LG觸發。我申請了'onDestroy'來跟蹤狀態。 –

+1

是的,這是可能的,它是設備特定的。例如,如果主屏幕運行的是動態壁紙,則更有可能調用'onDestory' get來釋放一些內存。 – Johannes

相關問題