2012-04-02 82 views

回答

5

的這些選擇是負責或多或少電池消耗都不是。

爲了讓您的應用獲得任何位置更新的通知,無論是區域更改還是重大位置更改,都必須在應用的Info.plist文件中指定您需要的位置服務在背景中。

實際上有位置服務的兩個相關的選擇:位置服務GPS

爲了不排空用戶的電池,請選擇location-services。如果你說你的應用程序需要後臺服務,你將耗盡電池,因爲這會導致GPS硬件(假設它存在)被啓用,並且這是造成電池消耗的原因。當您指定location-services時,設備使用蜂窩無線電(無論如何,假設您有iPhone)來指定位置。不如gps準確,但大多數應用程序不需要GPS精度。 (如果你這樣做,然後用GPS,當然,但知道後果可見一個爭奪電池壽命。)

我最近寫了一個測試應用程序的所有關於這個(我寫了一篇關於上週here)我發現當我有幾個區域設置用於監控時,沒有顯着的電池消耗,我指定location-services作爲所需的後臺服務。

+0

我必須在info.plist中設置應用程序應該使用位置服務嗎?如果我不使用GPS ?,因爲我沒有這樣做 另外,什麼是更準確的「位置變更」或「地區變更」? 順便說一句,偉大的職位! – subharb 2012-04-03 10:05:47

+1

爲了澄清,您的應用在其Info.plist中必須包含兩件東西:在「所需的背景模式」下,您必須說您的應用將註冊位置更新,並且在「所需設備功能」下,您應該放置__location-servics__。你可以把__gps__放在這裏,但是這會消耗電池。後一種設置還有助於防止沒有必要硬件的設備(例如蜂窩天線)的用戶下載您的應用。 – 2012-04-03 12:23:30

+0

所以它不會改善應用程序的性能,對吧?它會觸發「didUpdateLocation」相同的次數。 此外,哪一個更準確的位置更改或區域更改? 我沒有得到很多位置的變化,所以我想轉換到區域監測,你可以添加多少個區域? 謝謝。 – subharb 2012-04-03 13:48:24