后台程序

本文介绍了iOS4之后引入的多任务处理机制。当应用转到后台时,系统将保留其核心数据,但会释放某些资源。文章还详细描述了如何通过特定函数来处理应用转入后台的情况,包括资源释放和数据保存等。

基本概念:

IOS4 以后,引入了多任务的概念。在用户按下home键时,当前的app会立即转入后台模式,不会像IOS4之前那样,立即被系统干掉。app仍然驻留在内存中,并且可以向系统注册执行后台任务,比如播放音乐。但是IOS上的多任务与传统的多任务是不同的,app自身在转入后台之后,是被冻结住的,所注册的后台任务,必须放在独立的线程中,并且任务的类型是固定的。也就是说你所能执行的后台代码是有限制的。

 

基本流程:

当用户按下home键时,当前的应用程序就会立即转入后台模式,流程如下:

资源释放:

当app转入后台模式,系统不会释放app的核心数据,比如自定义的object,view,window,等等这些一但释放,无法回复的东西。但是一些系统维护的后台资源,比如缓存的图片,数据。

 

applicationDidEnterBackground:

通常在这个函数中,需要做一些数据保存的工作。因为当系统进入低内存状态后,任何后台程序都有可能被系统干掉,从而收回内存。并且如果在后台状态下,被系统干掉,app是不会收到任何通知的。需要注意的是,这个函数最多只能执行5s,如果超过,app就会被系统干掉。

 

程序终结:

如果你的app不希望进入后台状态,只需要在info.plist中加入UIApplicationExitsOnSuspend。

app就会在home键按下后,立即终结,终结前app会收到  applicationWillTerminate: 。在这个函数中可以做数据保存,同样的该函数最多只能执行5s。

转载于:https://www.cnblogs.com/ryanlaw/archive/2012/01/07/2316080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值