微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 核心位置距离过滤电池寿命

更改distanceFilter值是否会影响电池寿命?如果是这样,这是什么影响,为什么它会产生任何影响?

解决方法

distanceFilter属性对电池寿命没有影响或影响极小.所有它确实限制了代表对其移动的每n米的调用.如果你想用gps来节省电池寿命,那么我建议你只打开gps并每隔n秒读取一次读数,然后再将其关闭直到下一次读数.我会用一个计时器.如果您希望此功能也在后台运行,请执行以下步骤:

>在您的应用程序plist文件中,将“app registers for location updates”添加required background modes键.
>在您的applicationDidEnterBackground方法中执行类似这样的操作

uibackgroundtaskIdentifier __block bgTask;

UIApplication *application = [ UIApplication sharedApplication];

bgTask = [application beginBackgroundTaskWithExpirationHandler:^{
    //Prevent from going inactive by starting location update
    [[ ApplicationContext sharedInstance].coreLocationController startUpdatingLocation ];
    [application endBackgroundTask:bgTask];
     bgTask = uibackgroundtaskInvalid;
 }];

  dispatch_async(dispatch_get_global_queue(disPATCH_QUEUE_PRIORITY_DEFAULT,0),^{
   while (YES) {
      if ( [[UIApplication sharedApplication] applicationState] == UIApplicationStateActive ) {
        break;
    } else {
     //DO something in the background
    }

}
});

您在应用程序到期之前启动位置管理器的位置,以确保它在后台继续处于活动状态.这将允许应用程序始终在后台运行,因此您可以通过打开/关闭gps来间歇性地检查位置

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐