1
A
回答
6
你的觀察是正確的。 GPS服務是耗電量大的操作。它包括啓動機載無線電和查詢可用的蜂窩塔,Wi-Fi熱點或GPS衛星,這可能需要幾秒鐘的時間。使標準的位置服務長時間運行會消耗設備的電池。
iOS爲此設計了一個解決方案。其所謂的意義位置改變。重大變化的位置服務爲具有蜂窩無線電的設備提供低功率定位服務。此服務僅適用於iOS 4.0及更高版本,還可以喚醒暫停或未運行的應用程序。這種方式的工作原理是您訂閱此服務並請求iOS通知您在用戶發生「指示位置」更改時發生。 「重大」的定義不在你手中。其實,這是節省電池的原因。你不要查詢位置。你得到更新。
在我看來,這個API非常好,給出了一個「相當」的準確位置。除非你正在構建一個跟蹤應用程序,否則這個API是簡單易用的電池。我無法告訴你應用程序的數量(付費&免費)我被無情地刪除,僅僅是因爲他們濫用位置服務和耗盡我的電池。想象一下,由於電池電量耗盡,用戶的iPhone在半天內無法使用。要非常注意這一點。開始此服務的方式是 -
- (void)startSignificantChangeUpdates
{
// Create the location manager if this object does not
// already have one.
if (nil == locationManager)
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager startMonitoringSignificantLocationChanges];
}
之後,與標準位置服務一樣,位置數據被傳遞到委託對象。你可以根據你的使用情況來使用它。更多信息在Apple Location Docs
相關問題
- 1. 測量Android應用程序的電池消耗量
- 2. 如何在ios下測量我的應用程序的電池消耗量?
- 3. 應用程序電池消耗工具
- 4. Android應用程序電池消耗
- 5. 限制某些應用程序的Web服務消耗
- 6. 如何設計耗電量較低的移動應用程序?
- 7. 如何減少.NET應用程序消耗的內存量?
- 8. 黑莓上的應用程序的電池消耗
- 9. Android - CPU使用率和電量消耗
- 10. CF應用程序消耗的WCF
- 11. 我的應用程序消耗高CPU
- 12. 減少Android應用程序的電池消耗
- 13. 背景應用程序消耗太多的電池
- 14. 如何降低基於位置的應用程序的電池消耗
- 15. Android WebView在應用程序在後臺運行時消耗大量電量
- 16. 查找數據轉移率和Android應用程序中的電池消耗量?
- 17. 基於Mono的應用程序是否會消耗更多電量(Android)
- 18. Xamarin Android應用程序消耗異常數量的電池。爲什麼?
- 19. 是否可以在ios中找到應用程序的電池消耗量?
- 20. QProgressBar使應用程序消耗大量內存
- 21. 如何限制登錄到應用程序的用戶數量?
- 22. 限制來電iphone應用程序
- 23. 我的應用程序在背景中耗盡大量電池
- 24. 如何限制IIS Express的內存使用量/強制應用程序池recyle
- 25. 如何跟蹤Android應用程序消耗的峯值內存
- 26. 使用JMX計算應用程序的內存消耗
- 27. 如何在使用音頻設備時限制內存消耗
- 28. CLLocationManager崩潰應用程序
- 29. Google Fit應用程序如何在不消耗電量的情況下始終測量步數?
- 30. Rails應用程序+ Apache Passenger + Postgres:CPU消耗
您是否真的指您使用GPRS找到位置?儘管這不是不可能,但相當不尋常。無論如何,你在哪個頻率獲取當前位置? –
假設您正在討論使用位置服務:減少用電量的一種方法是請求較低的準確性。使用適用於您的應用程序的最低精度。不要求後臺更新,如果你不需要它們,當你不需要時不要求你是指導應用程序。此外,您可以使用儀器來分析您的用電量。 – nielsbot
我使用了CoreLocation框架[locationManager startLocationUpdates]&[locationManager stopLocationUpdates] –