2010-06-25 141 views
2

我已經將我的iPhone SDK從3.1.2升級到4.在以前版本中開發的應用程序運行良好,但我只有一個問題。iPhone SDK 3.1.3升級到iPhone SDK 4 ApplicationWillTerminate和dealloc未被調用

當我關閉應用程序時,它不會調用應用程序終止和釋放任何東西。當我點擊主頁按鈕應用程序退出,但是當我再次打開時,它會打開我準確離開它的位置。

是否有其他人有這個問題,如果是的話你是如何解決這個問題的?

感謝

回答

4

你所看到的是所有sdk4應用程序都能執行的節省狀態的多任務處理。它不會調用這些方法,因爲你的應用程序沒有終止,iOS只是保存狀態並將其推送到後臺。如果你注意到,當你現在點擊home按鈕時,調試器也不會解除綁定。如果您查看新的sdk文檔,應用程序進入背景時會有方法,這聽起來像您想要移動「willTerminate」方法中的代碼的位置。

編輯:下面是這些方法

applicationDidEnterBackground:

applicationWillResignActive:

+0

這是否意味着我要離開它,因爲它是文檔,它是多任務的準備。另一個快速的,如果用戶真的想要如何退出應用程序? – Leo 2010-06-25 20:15:45

+1

蘋果建議您隨時隨地關閉應用程序(如果設備內存不足),則會在您的應用程序進入後臺時執行所有清理並保存過去一直保存在您的willTerminate中的內容。但是,事實上,任何使用4.0 sdk編譯的任務都是多任務(狀態保存)準備好的。 用戶並不是真的應該考慮手動關閉應用程序,但如果您好奇,雙擊主頁按鈕,請按住其中一個圖標,然後單擊紅色減號。 – ACBurk 2010-06-25 21:24:25

1

在猜測,我會說,你的應用是終止,但目前在後臺呆在一起。當內存變得稀缺時,它會在3.x天內終止。