我通过CMDeviceMotion
录制了NSTimer
加速度数据样本30秒。问题是,当应用程序处于前台时,一切都很好。间隔设置为0.01
,在30 seconds
中,存储3000
个读数。但是当应用程序进入后台时,我只会获得300
个读数。
self.deviceMotionTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(recordUpdates) userInfo:nil repeats:YES];
这是NSTimer的工作原理吗?
答案 0 :(得分:0)
NSTimer
永远不会在后台运作。当您的应用程序转到后台时,NSTimer也会冻结。简而言之,当您想在后台执行一些重复性任务时,您无法使用NSTimer。
如果您仍想在后台运行某些内容,请在此主题中使用@Robert给出的答案: Scheduled NSTimer when app is in background?