是否有人注意到这种奇怪的行为?我不能100%重现这个,但它发生了很多。我甚至不确定这是否与低内存警告有关。
如何(有时)重现:(在使用iOS 4.3.3的iPhone 4上,所有应用都有UIBackgroundModes = location
,因此完全启用了多任务处理)
结果:
App B和C都成功追踪了200米。但App A(我开始的第一个应用程序)仅跟踪了100米(到了第5点,我开始了第4个GPS应用程序)。
App A没有崩溃。当我换回时它仍在运行(没有低内存崩溃日志或正常崩溃日志,没有)。在重新启动应用程序之前,它不会再收到位置更新。
然后我用相同的设置做了另一次尝试。但是这次App A,B和C都跟踪了200米。
所以我唯一的解释是App A在低内存警告(可能是level = 2?)后不再接收任何位置更新。
这种奇怪的行为还有其他解释吗?如何修复我的应用程序(应用程序A)在停止后仍然接收位置更新? (重启位置管理器的计时器没有帮助)
答案 0 :(得分:0)
从我所看到的情况来看,如果你得到2级低内存警告,操作系统可以很快杀死违规的应用程序。 GPS报告被阻止之间可能存在一定程度,但我对此表示怀疑。
它是否始终是第一个不跟踪的应用程序(在您的示例中为应用A)?