2012-04-08 15 views
16

Pracuję nad aplikacją na iOS, która najlepiej będzie uruchamiać usługi lokalizacyjne w tle. Przetestowałem znaczącą lokalizację i to nie jest wystarczająco dokładne. Dokładna lokalizacja jest idealna, ale zużywa zbyt dużo baterii, aby aplikacja była wykonalna.Ograniczanie lokalizacji tła w systemie iOS Użycie baterii

Aby obejść ten problem z baterią, pomyślałem, że znalazłem rozwiązanie, które używa NSTimer wewnątrz UIApplication:beginBackgroundTaskWithExpirationHandler:. To włącza i wyłącza lokalizację, co powoduje aktualizację lokalizacji i resetuje backgroundTimeRemaining.

Jednak to rozwiązanie nadal pobiera dużo energii - 15% -20% co 3-4 godziny - nawet jeśli lokalizacja jest włączana tylko na jedną sekundę co 9 minut. Ta aplikacja nie działa w tle poza tym jednym zegarem. Próbowałem nawet zwolnić wszystkie widoki podczas wchodzenia w tło, aby upewnić się, że nic nie siedzi i nie zużywa baterii.

Sprawdzanie wewnętrznych instrumentów, stwierdziłem, że aplikacja używa 0,0% mocy procesora i 14 MB pamięci w stanie oczekiwania. W tej chwili jestem trochę zagubiony, zwłaszcza, że ​​od 1 sekundy co 540 sekund GPS nie zapewnia znacznego zmniejszenia zużycia baterii w porównaniu do pracy 24 godziny na dobę.

zacząłem kompilacji następujące pytania, które mogą przyczynić się do problemu, i mam nadzieję, że ktoś ma odpowiedź lub pomysł ...

  • Czy uruchamiając aplikację w ten sposób przystanku telefon nie wchodzi w tryb niskiego poboru mocy?

  • Czy uruchomienie GPS wykorzystuje ogromne ilości energii?

  • Czy GPS nadal działa przez pewien czas, nawet po wyłączeniu?

+1

@GregularExpressions - to brzmi dobrze. Nie wierzę, że sprzęt GPS mógł zrobić dużą część czegokolwiek w pierwszej sekundzie po włączeniu zasilania. Odbiornik musi uzyskać kompletną ramkę danych z kilku satelitów, aby obliczyć swoją pozycję, a przepustowość/bitrate sygnału GPS jest bardzo niska (musi być jeszcze mała mała odbiornik o niskiej mocy byłaby niemożliwa). Nawet jeśli zasygnalizowano, aby wyłączyć, system GPS prawdopodobnie działa, dopóki nie uzyskał jedną poprawkę przed wyłączeniem. –

+0

.. a odbiorniki w tych układach GPS o niskiej mocy to i tak śmieci. –

+2

Czy rozwiązałeś swój problem? – knagode

Odpowiedz

2

Tak, WWDC 2011 Sesja 312 „iOS Wydajność i optymalizacja energii z instrumentami” obejmuje to około 45 minut znaku.

Po zakończeniu korzystania z GPS może pozostać aktywny przez maksymalnie 10 sekund, a aktywne odbiorniki obudzą urządzenie, a gdy jest aktywne, zapobiegają "zasypianiu" urządzenia.

Będzie można to zobaczyć, korzystając z szablonu "Diagnoza energii" w Instrumentach.

Powiązane problemy