更改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来间歇性地检查位置