IOS蓝牙应用程序“终止,由于信号9”只在后台模式

我正在开发一个IOS应用程序在目标c显示从蓝牙BLE的心率与相应的graphics。 如果应用程序在前台运行,则一切正常,没有任何问题。

但是,如果应用程序进入后台模式,BLE测量仍然继续(我正在使用“使用蓝牙LE配件”),但在几分钟或几秒钟后,操作系统将终止该消息,并显示“iPhone上的应用程序意外退出 – > 来自debugging器的消息:由于信号9而终止。

我无法知道为什么只有在后台模式下才会发生这种情况,而当我在iPhone上看到该应用程序时,却不在前台?

CPU和内存使用率在前台或后台相同,大约是130%和16 MB。

该应用程序在2:40后被杀害

在这里输入图像说明在这里输入图像说明

“在前台完成的所有事情”都是在应用程序处于后台模式时完成的,应用程序正在使用“使用Bluetooth LE附件” ! 而如果CPU使用率太高, iOS杀死应用程序“终止由于信号9” 不仅如果内存使用率太高(我认为,苹果文档中缺less这个事实)。

为了防止应用程序在后台被杀害,当应用程序处于后台模式时, 停止使用诸如渲染图像之类的东西来处理高CPU

Interesting Posts