2014-06-16 140 views
3

我對iOS狀態管理的理解是,當用戶點擊主頁按鈕時,應用程序變爲不活動狀態,然後進入後臺,幾秒鐘後暫停。如果系統需要釋放內存或用戶將應用程序從最近列表中劃出,則暫停的應用程序將被終止。如何判斷我的應用程序是否已暫停?

我的問題是,有沒有什麼方法可以告訴我的應用程序已經離開後臺狀態並進入掛起狀態?我知道應用程序委託方法,如applicationDidEnterBackground等,但有沒有一種方法,我可以告訴應用程序被暫停?我是否正確地認爲被暫停是而不是與終止相同?

問我這個問題的上下文是我正在創建一個音頻播放器應用程序。我在Info.plist中啓用了背景音頻,因此當播放音頻時,按下主頁按鈕我可以看到應用程序無限期地保持在後臺(這很好)。但是,當音頻不播放時,無需將應用程序保留在後臺,並且據我瞭解,該應用程序應該暫停。我希望能夠檢查是否發生這種情況!

非常感謝 - 並糾正我的任何誤解。

+0

已解決此問題,或者您還在等待答案? – Almo

回答

2

你沒有得到有關被暫停通知:

https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

「暫停:該應用程序在後臺,但沒有執行代碼,系統會自動移動應用程序,以這種狀態和不在執行此操作前通知他們,雖然暫停,但應用程序仍保留在內存中,但不會執行任何代碼

當發生低內存條件時,系統可能會清除暫停的應用程序,恕不另行通知,爲前臺應用程序騰出更多空間。 「

+1

我認爲「警告」是錯誤的詞。 – trojanfoe

+0

編輯,謝謝。 – Almo

+0

謝謝 - 所以我沒有任何方法可以查看我的應用程序是否在背景中保持時間長於它應該保持的時間?有沒有任何診斷工具可以讓我找出應用程序是否被暫停? – ben

相關問題