2012-06-11 36 views
1

我的應用程序使用HandlersendEmptyMessageDelayed拿到產生調試輸出定時的消息。當我在Galaxy Tab上按下電源時,屏幕關閉,但調試信息不​​斷出現。Android爲什麼屏保關閉?

我寧願將CPU去睡覺。這是否因爲插入PC而發生?或者我的應用程序可能會做錯什麼讓設備保持清醒?

回答

2

打開屏幕關閉時,並不把手機變成「睡眠」模式,類似於把你的電腦顯示器關閉不會把你的電腦進入「睡眠」模式。移動設備在您需要時具有快速響應能力,因此除非明確告知(如果此功能存在),否則不會進入睡眠狀態。

在應用程序的上下文中,在主(UI)線程處理由於UI元素不再被繪製到屏幕上顯着降低。但是,無論屏幕狀態如何,後臺進程仍會按照您預期的那樣運行。

如果您希望您的應用程序停止一些處理時沒有在前臺,檢查調用你的活動onPause(),做你想要什麼。當更改活動,關閉屏幕或將應用程序移入背景時,將調用onPause()

+0

謝謝。我剛剛學到的東西:請記住調用super.onPause()和super.onResume(),否則會得到「SuperNotCalledException」。 – Qwertie

+0

除非你明確知道底層'super'方法的作用,並且知道你不希望發生這種情況,否則總是通過'super'方法調用。比對不起更安全。 –