iOS 系统,关闭程序,applicationWillTerminate为调用问题解决

iOS4.0以后系统支持多任务类型,程序按下home键后,程序进入后台运行,如果内存不足被系统关闭或者手动关闭,都不会调用applicationWillTerminate回调函数。
解决方法:可以在程序进入后台时,添加一后台运行通知函数,也就是程序进入后台一段时间内,程序还在运行,并可以响应一些消息。代码如下:

- (void)applicationDidEnterBackground:(UIApplication *)application

{
    [[
UIApplicationsharedApplication
]
beginBackgroundTaskWithExpirationHandler
:^(){

       //程序在10分钟内未被系统关闭或者强制关闭,则程序会调用此代码块,可以在这里做一些保存或者清理工作

        NSLog(
@"程序关闭"
);

    }];

}

添加此段代码后,程序进入后台10分钟内会响应 applicationWillTerminate 函数,可以在其中添加保存或者清理工作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,174评论 19 139
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 8,770评论 0 6
  • 人在面试途中,都是套路啊!!!。 本文包括: OC的面向对象 运行时Runtime 运行循环RunLoop 事件响...
    Miu七七阅读 5,645评论 0 13
  • 一、深复制和浅复制的区别? 1、浅复制:只是复制了指向对象的指针,即两个指针指向同一块内存单元!而不复制指向对象的...
    iOS_Alex阅读 5,310评论 1 27
  • 春暖花开,草长莺飞。在这个绿植繁茂生长的季节,我们的孩子也在快速发展。近段时间,孩子们在读写绘创作方面,进步特别大...
    于向雨阅读 3,641评论 0 2

友情链接更多精彩内容