除了之前提到的使用GCD可以后台处理任务,不阻塞主线程,还有一个用处是:可以让程序在后台较长久的运行。
在没有使用GCD时,当App被按home键退出后,App最多仅有5秒钟的时间来做一些保存或者清理资源工作。但是使用了GCD后,iOS 7之前App最多有10分钟的时间在后台持续运行,iOS 7以后App最多只有3分钟在后台持续运行。
下面就了解一下,如何使用GCD申请3分钟:
1、在AppDelegate中,添加一个属性
屏幕快照 2015-11-25 15.15.54.png2、在applicationDidEnterBackground方法中,如下写道:
屏幕快照 2015-11-25 15.16.48.png注意:想要执行的方法一定要在两个方法之间调用!
3、两个神奇的方法:
屏幕快照 2015-11-25 15.17.16.png第一个方法声明开始执行后台任务,第二个方法声明结束后台任务,二者缺一不可!
下面再看看效果:
程序运行了之后,开始时的效果:
屏幕快照 2015-11-25 14.38.16.png程序运行了三分钟之后的效果:
屏幕快照 2015-11-25 14.37.46.png效果还是满意的,不枉我苦等3分钟啊!加油!
网友评论