2015-03-13 382 views
7

如果用戶啓動iOS應用程序,然後鎖定設備,則在設備鎖定時iOS應用程序將處於活動狀態?我在Apple的開發人員文檔中找不到答案。設備鎖定時iOS應用程序是否處於活動狀態?

+1

這答案肯定是在蘋果文檔。閱讀https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/ – Popeye 2015-03-13 10:17:22

+0

從[documentation](https://developer.apple.com/library/content/documentation/iPhone/) 「當用戶按下主頁按鈕,按下睡眠/喚醒按鈕,或者系統啓動另一個應用程序時,前臺應用程序轉換到非活動狀態,然後轉換到後臺狀態。轉換導致調用應用程序委託的applicationWillResignActive:和applicationDidEnterBackground; – Honey 2017-08-04 15:59:42

回答

0

該應用程序將被髮送到後臺並變爲非活動狀態(無代碼正在運行)。然而,你可以在應用程序進入後臺之前start a background task,這將允許它在設備被鎖定後運行幾分鐘...

6

您可以通過閱讀Apple Documentation for UIApplicationDelegete找到所有不同狀態之間的差異。尋找一節標管理狀態轉換在那裏你會找到一個表的不同狀態的應用程序可以英寸

未運行

該應用程序尚未啓動或終止,無論是由用戶還是系統。

無效

應用程序是在前臺運行,但不接收事件。 (儘管如此,它可能正在執行其他代碼。)應用程序通常只會在轉換到其他狀態時暫時保持此狀態。 進入這種狀態後,應用程序應該將自己置於靜止狀態,並期望很快移動到背景或活動狀態。

活動

該應用程序在前臺運行,並接收事件。這是前臺應用程序的正常模式。 處於活動狀態的應用程序沒有特殊的限制。這是前臺應用程序,應該對用戶作出響應。

背景

該應用程序正在執行的代碼,但是不可見的屏幕上。當用戶退出應用程序時,系統會暫時將應用程序移至後臺狀態。在其他時候,系統可能會將應用程序啓動到後臺(或喚醒暫停的應用程序),並給它時間來處理特定的任務。例如,系統可能會喚醒應用程序,以便它可以處理後臺下載,特定類型的位置事件,遠程通知和其他類型的事件。 處於後臺狀態的應用程序應儘可能少做一些工作。請求時間處理特定類型事件的應用程序應處理這些事件並儘快將控制權返還給系統。

暫停研究

該應用程序在內存中,但不執行代碼。系統暫停後臺應用程序,並且沒有任何待完成的任務。系統可能隨時清除暫停的應用程序,而不會喚醒它們爲其他應用程序騰出空間。

根據什麼享您的應用以及是否應在後臺運行,或者不是你的應用程序可能是兩個三個州之一,當手機鎖屏上。這些未運行背景暫停

如果您的應用意味着在後臺將進入未運行狀態,因爲它會被終止運行,將調用方法applicationWillTerminate:,並且當您從鎖定屏幕返回時,它會像平常一樣重新啓動您的應用程序。

如果您的應用程序有權在後臺,當你去到鎖屏就會進入一個背景狀態調用applicationDidEnterBackground:運行,當你從鎖定屏幕回來你的應用程序將調用該方法applicationWillEnterForeground:和運行您需要使您的應用程序再次處於正確狀態的任何代碼。當應用程序通過查看UIApplication Documentation for Managing Background Execution

的應用將進入的時候它有背景的權利,但沒有運行任何代碼暫停狀態進入後臺狀態和應用程序只是您可以創建將運行研究背景任務坐在記憶裏。如果應用程序處於此狀態,則系統可隨時清除應用程序以騰出空間留存。這在進入或退出此狀態時不會調用任何方法。

這裏是圖1從Apple文檔

enter image description here

相關問題