我正在开发一个类似导航的应用程序。位置管理器可以很好地在前台和后台获取设备的当前位置。
在前景中,无论时间长短,它都工作得很好。然而,当应用程序进入后台模式时,最初位置管理器工作得很好。但大约2分钟后,应用程序退出,控制台显示错误消息:“来自调试器的消息:由于信号9而终止。”
我搜索了错误消息,但仍然找不到解决方案。Quitting app causes error "Message from debugger: Terminated due to signal 9"
我注意到CPU使用率非常高,在后台模式下约为105%。这可能是操作系统发送KILL信号的原因。但是即使我降低了位置管理器的精度(但为了导航的目的,我最终仍然需要最高的精度),问题仍然存在。
所以我真的很想知道,这些健身应用程序是如何在后台跟踪用户的位置,而不被操作系统杀死的。
发布于 2017-07-08 01:43:08
我认为你的问题是由于复杂的图形用户界面,即使应用程序在后台,该界面也会每秒刷新一次
为了防止应用程序在后台时被杀死,请在应用程序处于后台模式时停止使用高CPU的操作,如渲染图像。
https://stackoverflow.com/questions/44976260
复制相似问题