我在iOS 5中測試應用程序狀態的保存時出現問題:退出應用程序時,將不會調用保存狀態的重載。在模擬器中測試應用程序狀態的保存
這是我如何重載節能狀態的方法:
[Register("AppDelegate")]
public class AppDelegate : UIApplicationDelegate
{
...
public override bool ShouldSaveApplicationState(UIApplication application, NSCoder coder)
{
Data.Save(coder);
return true;
}
public override void WillEncodeRestorableState(UIApplication application, NSCoder coder)
{
Data.Save(coder);
}
這裏是我用於退出應用程序的方法,據我的理解是,它們中的每一個應該觸發狀態保存通話(但他們不):
- 按home鍵
- 調用
UIApplication.SharedApplication.PerformSelector(new Selector("terminateWithSuccess"), null, 0f);
- 調用
Environment.Exit(0);
(這將導致應用程序掛起)在模擬器 - 設置
UIApplicationExitsOnSuspend
爲trueInfo.plist
並按下home鍵
所以我的問題是:爲什麼是節能狀態的方法,不叫?
感謝您的回覆。對不起,我忘了提及我只是按了主頁按鈕。我閱讀了文檔,它並沒有明確提及如何「通過按需求調用exit來以編程方式殺死應用程序」。我試過調用'Environment.Exit(0)'這個錯誤?什麼是正確的電話? – thumbmunkeys