iOS应用在后台执行期间冻结

时间:2016-04-27 07:22:32

标签: ios objective-c background location freeze

我有一个应用程序,其背景位置和启动提取模式。 它获取用户位置,将其发送到服务器,读取结果(JSON)并触发本地通知。 此过程已在iPhone 4S上每15,60和180秒进行一次测试。

问题出现了。

如果应用程序进入后台,大约3分钟后,它会冻结并停止与服务器的通信。我可以从Xcode中看到,在调试导航器中:内存已分配,但CPU和能量影响为零。 这个问题可以复制打开像Youtube这样的重型应用程序:在这种情况下,应用程序会在几秒钟后冻结。 最有可能iOS本身冻结了应用程序。 我的问题是:有没有办法阻止这种冻结或解冻应用程序而不恢复它?

1 个答案:

答案 0 :(得分:0)

使用此代码

设置位置管理器的setAllowsBackgroundLocationUpdates属性

if ([self.locationManager respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)]) {
            [self.locationManager setAllowsBackgroundLocationUpdates:YES];
        }

您还可以查看背景重新制作时间

 NSLog(@"%f",[UIApplication sharedApplication].backgroundTimeRemaining);