IOS Background 之 Background Fetch
http://www.ithao123.cn/content-1363653.html
定期更新数据的app,比如及时通信类,微博等app.
定期后台获取,等打开后获取的快一些。
30分钟后打开手,获取30分钟内qq消息。如果没5分钟获取一次,那么最后一次只刷新5分钟内的数据,速度快,体验好。但是费电!
设置->通用->后台应用程序刷新。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中添加:
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
MinimumBackgroundFetchInterval
参数值是两次Fetch时间间隔,不能保证每隔这个时间间隔都会调用。这里设置为
UIApplicationBackgroundFetchIntervalMinimum,意思是尽可能频繁的调用我们的Fetch方法。
二,增加实现Fetch方法
-
(void)application:(UIApplication *)application
performFetchWithCompletionHandler:(void
(^)(UIBackgroundFetchResult))completionHandler{};
每次系统Fetch时都会调用该方法,我
们可以在该方法中做刷新数据等操作,操作执行完成以后要调用completionHandlerblock(),比
如:completionHandler(UIBackgroundFetchResultNewData);文档中说系统会根据
completionHandler(执行的时间)来估计此次Fetch的耗电等。如果耗时耗电比较多,可能会降低被调用的次数。但这个方法也不是不限时
执行的,说是有30s的时间来执行操作。completionHandler有三个参数:
UIBackgroundFetchResultNewData 成功拉取数据
UIBackgroundFetchResultNoData 没有新数据
UIBackgroundFetchResultFailed 拉取数据失败或者超时
最新文章
- javascript 学习笔记
- FreeMarker模板开发指南知识点梳理
- Java中使用二重循环打印沙漏图形
- JAVA 布尔型的应用
- jboss eap开启https协议
- android学习笔记46——File存储
- DES加密系统的实现
- HeaderViewListAdapter
- sql server 2008 在与 SQL Server 提示建立连接时出现与网络相关的或特定于实例的错误
- 通过Maven配置测试环境和开发环境连接不同的数据库
- 201521123022 《Java程序设计》 第六周学习总结
- SpringMVC+FreeMarker实现静态资源文件自动添加版本号(md5)
- php的数组的函数
- C++标准模板库(STL)之Set
- QT在Linux下的安装
- 【jdbcTemplate】baseDao书写规范
- ZOJ 1586 QS Network(Kruskal算法求解MST)
- Thinkphp的自定义路由(route.php)
- Unity脚本开发基础 C#
- Python学习 :json、pickle&;shelve 模块
热门文章
- (转)读懂diff
- Linux下定时任务Crontab的使用
- Spring读取配置文件,获取bean的几种方式
- XML专题:使用NSXMLParser解析xml文件
- String.format(2)
- Java 合并.wav 文件
- 在IIS上搭建FTP服务
- <;>;这个符号表示泛型的意思
- 笔记:配置 webpack dev server
- 【转】linux中shell变量$#,$@,$0,$1,$2的含义解释