此事件狀態的蘋果文檔:ios 4.3.1 applicationWillResignActive行爲錯誤?
這個方法被調用,讓你的應用程序 知道,它即將從活動 移動到不活動 狀態。這可能發生在某些 類型的臨時中斷(例如 作爲傳入電話或SMS 消息)或當用戶退出應用程序並且它開始 轉換到後臺狀態。 應用程序處於非活動狀態 將繼續運行,但不會將 傳入的事件分派給響應者。
我看到的行爲與最後一句不一致。如果我在XCode調試器下運行一個應用程序來收集並記錄數據以響應定時器觸發,則如果按睡眠/喚醒按鈕使設備進入睡眠狀態,數據收集和日誌記錄將無限期地繼續。但是,如果我「正常」運行應用程序(即不在XCode調試器中),那麼數據收集和記錄在設備睡眠後幾乎立即停止。
蘋果的文檔也說(重點煤礦)
你應該使用這種方法來暫停正在進行的 任務,禁用定時器和節流下來的OpenGL ES的幀速率。
但並沒有真正解釋爲什麼應該禁用定時器。
我想弄清楚觀察到的行爲(不活動狀態似乎阻止我的計時器和/或可能是整個應用程序)是一個錯誤或不是,或者如果文檔錯誤地運行的應用程序不活動,或者爲什麼調試器下的應用程序的行爲與「真實世界」行爲不同。
任何幫助或澄清,將不勝感激。
Caleb,我讀過那篇文檔,其中指出:「任何時間段[應用程序]保持不活動狀態的唯一時間是用戶鎖定屏幕時」,這是我在此處描述的情況。 – 2011-04-13 16:54:13
雖然沒有說「任何一段時間」。我不認爲你可以指望在任何情況下保持不活動。 – Caleb 2011-04-13 16:59:49