你真的想知道每個h我們的?你是否試圖準確地確定位置,或者只是確定手機是否顯着移動? startMonitoringSignificantLocationChanges
會在手機「顯着」移動(通常意味着更換手機信號塔)時通知您。在城市中,這可能會經常發生。 startMonitoringForRegion:desiredAccuracy:
只會在您移出給定半徑範圍時纔會通知您。
startMonitoringSignificantLocationChanges
是相當便宜。它主要依靠小區天線,無論如何它一般都是。如果它每小時發射一次以上,你總是可以跳過處理並返回。但是不能保證你每小時會被叫一次,特別是在農村地區。
如果你是一個VoIP應用程序,那麼當你運行代碼時,你可能會註冊一個週期性的「簽入」間隔。但是你不能爲位置應用程序執行此操作。
您是否使用能量診斷儀器分析了您的代碼?實際上吃什麼是時間和力量?你在咀嚼收音機,CPU,磁盤嗎?
編輯
當應用程序死亡發生重大變化仍然繼續運行,並留下一個小的方向箭頭圖標旁邊的百分比iPhone的頂部工具欄上。我的用戶抱怨圖標在殺了應用程序後仍然存在
在應用程序死亡後,如果您註冊了重大更改,您將希望重新啓動以響應它們。如果您想終止註銷,請將stopMonitoring...
添加到您的applicationWillTerminate:
方法中。這不能保證被調用,但是這是一件好事,我相信如果用戶直接終止你並且你沒有被暫停(沒有測試過),它會被調用。
此外,只要存在小區覆蓋範圍,重要的位置變化在電池壽命方面應該非常便宜。他們不應該強制GPS繼續。
謝謝你的回答。這正是我現在正在做的以及我不想做的事情:)電池太多。 – Gena
那麼..如果你正在使用顯着的位置變化,那麼沒有更好的方法來提高電池壽命... – Saurabh