2013-05-31 20 views
5

Używam dużo timera w mojej aplikacji .. będzie to zmniejszyć moją baterię. ? Jeśli tak, w jaki sposób mogę programować przy efektywnym zarządzaniu energią.?NSTimer i ładowanie baterii na IOS

Dzięki

+2

Każdy proces uruchomiony na iOS przejmie zasilanie, nie ma nic z 'NSTimer'. Gdy coś robisz lub zegar się uruchomi, zajmie to trochę energii (moc procesora). –

+0

Naprawdę nie powinieneś się martwić o używanie 'NSTimer's w swojej aplikacji. Istnieje o wiele więcej zadań wymagających dużej mocy obliczeniowej, które są wykonywane nawet przez standardowe aplikacje narzędziowe, takie jak Mail, więc nie będzie to miało zauważalnego wpływu na żywotność baterii. – Greg

Odpowiedz

12

proces aplikacja jest podzielony na 3 główne kategorie: na matrycy, on-chip i off-chip.

On-Die: Proces, który działa wewnątrz procesora

On-Chip: Proces, który działa w chip, zwłaszcza RAM

Off-Chip: Proces, który działa przy użyciu innego sprzętu, takie jak Bluetooth, modem, przechowywanie, etc

zużycie baterii: On-Die < On-Chip < Off-Chip

Dla NSTimer, to będzie działać w On-Die & On-Chip, że wydadzą raczej niewielką ilość baterii. Zależy od tego, co działa w każdej pętli timera, zużycie baterii jest różne.

zapraszamy do dyskusji.

1

Można profil swoją aplikację w zużyciu energii przyrządu do zera w op, który wysysa baterii. Jest post na ten temat: here. Link do doc.

1

NSTimer to po prostu metoda pod wieloma innymi systemami iOS do planowania zadań do późniejszego wykonania. Z reguły metoda, którą wybierasz, aby zaplanować zadanie, praktycznie nie ma wpływu na zużycie baterii, ale jak często planujesz swoje zadanie i co robisz w swoim zadaniu.

Aby zoptymalizować zużycie baterii o okresowo zaplanowanych zadań należy pamiętać:

  • Nie zaplanować częściej niż niezbędny
  • robić tak mało, jak to możliwe w każdym biegu, szczególnie dla zadań, które zostanie wykonany często