2010-11-24 59 views

回答

12

在設備的睡眠情況下,活動的`的onPause()」將被調用。閱讀activity lifecycle瞭解這一點。

當內存/資源不足時,操作系統只會殺死進程。活動首先被殺害,服務只能作爲最後的手段被殺死。

但是不能保證他們不會被殺死。這就是爲什麼當你需要做一些工作時,你應該依靠系統服務給你打電話:使用AlarmManager定期撥打你的代碼或者使用聽衆通知你係統變化(GPS,網絡等)。

0

當電話睡眠活動不會被破壞。我相信所發生的一切是活動保持不變,但引發onPause()方法。

看這個圖象:

alt text

0

當手機進入睡眠狀態,onPause()方法被調用。此方法只是對您的應用程序的警告。然後根據設備的不同,CPU可能也會進入休眠狀態,並且代碼的執行可能會停止。在大多數設備上,這可能會在屏幕變黑之後的10到60秒內發生。

入睡很可能會導致您的應用被殺害。

1

我在應用程序中看到的只有主活動(category.LAUNCHER)的onPause()方法被調用。這發生在手機進入睡眠狀態之前,並且在此之前應用程序的主要活動已經開始。

在手機進入睡眠狀態之前開始其他任何一項活動時,首先調用onPause(),然後onStop(),最後onDestroy() - 這是爲category.DEFAULT清單。

我不知道也許這個問題是在我的代碼?

相關問題