我有一個應用程序,每隔K分鐘需要一次準確的位置更新 - 即使在後臺也是如此。重大的位置更改更新不足以滿足我的需求,因此我需要使用CLLocationManager
的startUpdatingLocation
方法並使其永久運行。iOS7:推遲更新或將精度設置爲低準確度會更節能
我想用盡可能少的功率,同時儘可能仍然得到我的週期性位置更新。似乎這兩種節省能量的選擇是(臨時)將CLLocationManager的desiredAccuracy
屬性設置爲最不準確的設置(例如3英里),或者通過allowDeferredLocationUpdates*
方法推遲位置更新。然而,這兩種技術是互不兼容的,因爲延期更新需要高精度設置(最準確)。
沒有人知道哪種方法更省電,或者,如果有另一種方式,以儘量減少用電量,同時還獲得定期更新(甚至在背景中)。
非常有興趣聽到你決定用這個做什麼?目前我有一個粗略的設置(3公里),每3分鐘運行一次「beginBackgroundTaskWithExpirationHandler」(不知道這對蘋果公司是否可行),檢查返回的準確性 - 如果不可接受提高所需的準確度並沖洗/重複,直到我以期望的準確度獲得我的位置。 – Shocks