【发布时间】:2010-08-11 11:52:21
【问题描述】:
我目前正在实现一些在后台模式下从 TCP 套接字读取的逻辑。
CFReadStreamRead 函数用于从套接字获取一些数据,现在一切正常。
但我想知道 iPhone OS 4.x 如何在后台模式下处理阻塞 I/O 操作。例如:CFReadStreamRead 函数可能会在等待一些传入数据时阻塞数小时。
后台任务是否有任何官方限制,例如 10 分钟?如果长时间运行阻塞 I/O 操作,我的应用程序会被 iPhone OS 杀死吗?
请注意 - 我没有在后台任务中运行阻塞 I/O 功能。代码本身位于 myUIApplicationDelegate 的applicationDidEnterBackground 方法中。
应用程序本身在Info.plst文件中配置了“voip”参数+CFReadStream根据Apple的建议配置了kCFStreamNetworkServiceTypeVoIP参数。
所以基本上这是后台模式下VoIP应用程序的常规场景。
谢谢!
【问题讨论】:
标签: iphone objective-c multitasking