sot*_*a_m 4 iphone background objective-c ios4
我正在开发在后台运行的iPhone应用程序(iOS4),并参考Apple在以下网址上编写的"完成背景中的有限长度任务"
然后我就能够实现后台任务了.(当然,我看到应用程序有10分钟的时间限制.)但是,我仍然无法理解" bgTask = UIBackgroundTaskInvalid;"(清单4-2中的第7,16行)的含义.
在我看来,从未达到上面显示的那条线.因为endBackgroundTask:之前有" ",后台任务将结束.事实上,当我使用xcode调试器进行检查时,这种想法可能是正确的,并且无法在Line7,16处到达.
如果是这样,这条线是多余的吗?或者有没有理由要写?
我将不胜感激任何帮助.提前致谢.
gra*_*rks 10
如果在应用程序完成其后台任务之前10分钟用完,则会调用块中的代码.
此块中的代码必须调用endBackground:以指示应用程序已确认并接受该情况 - 如果不是,则应用程序将被终止.请注意,调用该方法不会终止应用程序 - 它只是向操作系统指示后台任务执行已完成.
第二行只是重置bgTask为中性值,而不是将其设置为不再存在的任务的id.这是一个整洁的事情,而不是必不可少的.
(如果第二行在应用程序下一次被预先处理之前没有被执行,我不会感到惊讶,因为一旦后台执行结束,应用程序就不会有任何CPU时间运行.但是没有测试过这个)
| 归档时间: |
|
| 查看次数: |
4076 次 |
| 最近记录: |