我正在开发一个目标c中的IOS应用程序,它显示来自蓝牙BLE的心率和相应的图形。如果应用程序在前台运行,一切都会没问题。
但是如果应用程序进入后台模式,BLE测量仍然继续(我正在使用"使用蓝牙LE配件")但是在几分钟或几秒钟之后它会被操作系统杀死并显示消息&# 34; iPhone上的应用程序意外退出 - > 来自调试器的消息:由于信号9终止。
我无法找到为什么只有在后台模式下才会发生这种情况,而当我在iPhone上看到应用程序时却不在前台?
前台或后台的CPU和内存使用量相同,约为130%和16 MB。
应用程序在2:40后被杀死
答案 0 :(得分:7)
"所有在前台完成的事情"当应用程序处于后台模式且应用程序正在使用"使用蓝牙LE附件" 时完成!如果 CPU使用率太高 iOS会使用&#34终止应用;由于信号9和#34而终止; 不仅内存使用率太高! (我认为,Apple文档中缺少这个事实)。
要防止应用在后台被杀,停止使用高级CPU ,例如在应用处于后台模式时渲染图像!