2013-05-31 8 views
5

Ich benutze viele Timer in meiner App .. wird es meine Batterie zu reduzieren. ? Wenn ja, wie kann ich mit effektivem Energiemanagement programmieren?NSTimer und Batterie laden auf IOS

Dank

+2

Jeder Prozess, der auf iOS läuft, nimmt Macht, es gibt nichts mit 'NSTimer'. Wenn du irgendetwas machst oder der Timer läuft, wird es Strom verbrauchen (Strom für den Prozessor). –

+0

Du solltest dir wirklich keine Sorgen machen, 'NSTimer's in deiner App zu verwenden. Es gibt weitaus mehr CPU-intensive Aufgaben, die selbst von Standard-Utility-Apps wie Mail ausgeführt werden, so dass sich dies nicht merklich auf die Akkulaufzeit auswirkt. – Greg

Antwort

12

App Prozess ist in 3 Hauptkategorien unterteilt: On-Die, on-chip und Off-Chip-.

On-Die: Ein Prozess, der

innerhalb Prozessor läuft

On-Chip: Ein Prozess, der in Chip läuft, vor allem RAM

Off-Chip: Ein Prozess, der andere Hardware läuft unter, wie Bluetooth, Modem, Speicher, etc

Batterie-Verbrauch: On-Die < On-Chip < Off-Chip

Für NSTimer, wird es in On-Die laufen & On-Chip, die eher geringe Menge an Batterie verbringen. Je nachdem, was in den einzelnen Timer-Schleifen abläuft, variiert die Akkuleistung.

willkommen zu diskutieren.

1

Sie können Ihre Anwendung in Instruments Stromverbrauch auf Null-in der op-Profil, die Ihre Batterie saugt. Es gibt einen Beitrag zu diesem Thema here. Link zu Apple ref doc.

1

NSTimer ist nur eine Methode unter vielen anderen in iOS, um eine Aufgabe für die spätere Ausführung zu planen. Als Faustregel gilt, dass die Methode, mit der Sie eine Aufgabe planen, praktisch keinen Einfluss auf Ihren Akkuverbrauch hat, sondern wie oft Sie Ihre Aufgabe planen und was Sie in Ihrer Aufgabe tun.

Um den Batterieverbrauch mit periodisch geplanten Aufgaben optimieren Sie beachten sollten:

  • nicht öfter Sie planen als nötig
  • in jedem Lauf so wenig wie möglich tun, vor allem für Aufgaben, die ausgeführt werden sollen häufig