Я столкнулся с проблемой утечки батареи iPhone. В моем приложении я использую акселерометр для подсчета шагов. Я подписываюсь на диспетчер местоположений, чтобы сохранить акселерометр активным в фоновом режиме (чтобы он продолжал выполнять шаги регистрации). Конечно, я использую фильтр большого расстояния, поэтому локализация не должна вызывать такой большой разряд батареи.iPhone Battery Drain
Расположение настройки менеджера:
locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers;
locationManager.distanceFilter=3000;
// Даже я использовал startMonitoringSignificantLocationChanges также.
[locationManager startMonitoringSignificantLocationChanges];
К сожалению, примерно через 5 часов моя батарея пуста. По сравнению с приложением «Перемещения» (https://itunes.apple.com/in/app/moves/id509204969?mt=8) их приложение потребляет очень большую батарею, но они все равно отслеживают ВСЕ, пока приложение находится в фоновом режиме. Я поражен тем, как они справляются с проблемой батареи. Когда они также используют акселерометр & менеджер местоположения. Я очень благодарен за любые рекомендации, предлагаемые в этом отношении о том, как они это достигают.
Спасибо!
Я использую структуру Core Motion, но что делать, чтобы отслеживать всю активность, когда приложение находится в фоновом режиме. –