欢迎使用CSDN-markdown编辑器
2016-05-17 10:22
429 查看
App进入后台之后延长数据处理时间
在iOS开发中,当App进入后台之后,App只有很短的时间进行事务处理。有的时候系统提供的时间并不足以满足我们数据处理是的时长要求,这样我们为了能够将事务处理完整,就要额外的延长系统结束App的时间,让我们的应用有足够的时间处理未完成的数据,保证数据的完整性。在默认的情况系,App在进入后台后,有5秒左右的时间来处理未完成的任务,但是可能我们需要更长一点的时间。通过这个方法,最长可以申请到10分钟的时间用来后台处理相应的任务。具体代码如下:@interface AppDelegate () @property (nonatomic, assign) UIBackgroundTaskIdentifier backgroundTask; @end @implementation AppDelegate - (void)applicationDidEnterBackground:(UIApplication *)application { [self beginBackgroundUpdateTask]; // code here to do what you want when application did enter background [self endBackgroundUpdateTask]; } /** * 开始后台任务 */ - (void)beginBackgroundUpdateTask { self.backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ [self endBackgroundUpdateTask]; }]; } /** * 结束后台任务 */ - (void)endBackgroundUpdateTask { [[UIApplication sharedApplication] endBackgroundTask:self.backgroundTask]; self.backgroundTask = UIBackgroundTaskInvalid; } @end
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS开发之路--微博“更多”页面
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解