iOS4.0以后系統(tǒng)支持多任務(wù)類型,程序按下home鍵后,程序進(jìn)入后臺(tái)運(yùn)行,如果內(nèi)存不足被系統(tǒng)關(guān)閉或者手動(dòng)關(guān)閉,都不會(huì)調(diào)用applicationWillTerminate回調(diào)函數(shù)。
解決方法:可以在程序進(jìn)入后臺(tái)時(shí),添加一后臺(tái)運(yùn)行通知函數(shù),也就是程序進(jìn)入后臺(tái)一段時(shí)間內(nèi),程序還在運(yùn)行,并可以響應(yīng)一些消息。代碼如下:
- (void)applicationDidEnterBackground:(UIApplication*)application
{
[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^(){
//iOS7 以后在后臺(tái)大概能夠運(yùn)行3分鐘,iOS7 以前大概能夠運(yùn)行10分鐘,注意后臺(tái)任務(wù)結(jié)束后需要執(zhí)行 endBackgroundTaskNSLog(@"程序關(guān)閉");
}];
}