2013-06-03 75 views
0

在我的應用程序中,我希望在應用程序實例被刪除時得到通知。儘管殺死應用程序實例的回調方法是什麼?

我可以很容易地得到什麼,我通過谷歌搜索簡單地要求,我找不到我有用的東西。可能是我使用的代名詞deleting the app instance(刪除從屏幕底部顯示時,雙擊iPad的home鍵和我在尋找所謂的響應該行動的UIAppdelegate法列表中的應用程序) 。

有沒有辦法知道這個?

+1

'Killing'應用不刪除它。 – Sulthan

+0

@Sulthan我得到了它謝謝U –

回答

1

這是當您的應用程序被用戶(從任務欄移除)或系統中取消以回收內存時。沒有回調。你永遠不會知道它會發生或發生。

+0

'applicationWillTerminate:'這樣做,如果應用程序支持後臺執行 –

+0

@MidhunMP我剛剛在'applicationWillTerminate:'中測試了一個'NSLog()'。它在手動殺死應用程序時沒有被調用。當應用程序被系統殺死以回收內存時,它沒有被調用。 –

+0

讓我檢查,我會更新你:) –

1

是的。 - (void)applicationWillTerminate:(UIApplication *)application將被調用。

當用戶退出從任務欄應用它來打電話,當且僅當您的應用程序支持後臺任務,否則當用戶按下主頁按鈕隱藏你的應用程序,它會被調用。

applicationWillTerminate:

告訴代表當應用程序即將終止。 - (void)applicationWillTerminate:(UIApplication *)application

參數

應用

The delegating application object. 

討論

這種方法可以讓你的應用程序知道它即將被 終止並從內存中完全清除。您應該使用此方法 爲您的應用程序執行任何最終清理任務,例如釋放共享資源,保存用戶數據和使定時器無效。 您執行此方法大約需要五秒鐘時間來執行任何任務並返回 。如果該方法在 時間到期之前未返回,則系統可能完全終止該過程。

對於不支持後臺執行的應用程序或與iOS 3.x或更早版本鏈接的 ,當用戶退出應用程序時,總是調用此方法。對於支持 後臺執行的應用程序,當用戶退出應用程序時,通常不會調用此方法,因爲在這種情況下應用程序僅移動到 背景。但是,可能會在 應用程序在後臺運行(而不是 掛起)並且系統因某種原因需要終止應用程序的情況下調用此方法。

調用此方法後,該應用程序還職位 通知給有興趣的對象 有機會的過渡響應。可用性

Available in iOS 2.0 and later. 

參考:UIApplicationDelegate

+2

你驗證了這一點?我懷疑是這樣。當用戶從任務欄中殺死一個應用程序時,它會發送一個'SIGKILL'信號,立即殺死應用程序。在模擬器上,終止委託方法* *不被調用。請注意措詞:「系統」需要終止出於某種原因(而不是用戶)。 – borrrden

+0

@borrrden:讓我檢查一下,我會更新你:) –

相關問題