Ich mache eine Accelerometer-basierte App mit cocos2d, und mir ist aufgefallen, dass es möglich ist, das Aktualisierungsintervall des Beschleunigungsmessers einzustellen.
%Vor%Aktualisiert der Beschleunigungssensor sehr oft so (60 mal pro Sekunde) einen erheblichen Batterieverbrauch?
Laut dem LIS302DL Beschleunigungsmesser-Datenblatt verbraucht es ~ 0,75 mWatt Leistung mit einer Aktualisierungsrate von 100 Hz und einer Leistung von 0,0025 mW im Stand-by-Modus (dh es finden keine Messungen statt).
Also, die kurze Antwort ist "Ja", aber von meinem Kopf her kann ich diese Zahlen nicht in die richtige Perspektive bringen, um Ihnen eine Vorstellung davon zu geben, wie, "wie viele Minuten pünktlich" es abläuft die Batterie.
Meine Empfehlung wäre, ein bisschen zu testen. Finden Sie die niedrigste Aktualisierungsrate, die zufriedenstellende Ergebnisse liefert.
Angesichts der Zahlen in der angenommenen Antwort ist der Energieverbrauch durch den tatsächlichen Beschleunigungsmesser trivial. Ihr wirklicher Erfolg wird von Ihrer App kommen, die die Ereignisse verarbeiten muss und dadurch die CPU nicht öfter schlafen lässt.
Das 3GS hat eine 4,51 Wattstunden Batterie. Wenn nur der Beschleunigungsmesser bei 100 Hz läuft, würde die Batterie in (ungefähr) 6000 Stunden (unter der Annahme, dass der Wert von 0,75 mW korrekt ist)
getötet werden(Auch das iPhone 4 hat einen 5,25 Wattstunden Akku, 4S 5,3 Wh und 5 5,45 Wh, falls Sie neugierig sind)
Aus der Event Handling Guide für iPhone OS :
Bei der Konfiguration des Aktualisierungsintervalls Für Beschleunigungsereignisse ist es das Beste Wählen Sie ein Intervall, das das minimiert Anzahl der gelieferten Ereignisse und noch entspricht den Anforderungen Ihrer Anwendung. Wenige Anwendungen benötigen eine Beschleunigung Ereignisse werden 100 Mal pro Sekunde geliefert. Die Verwendung einer niedrigeren Frequenz verhindert Ihre Anwendung läuft so oft und kann daher die Lebensdauer der Batterie verbessern.
Demnach ist der teurere Teil einer hohen Aktualisierungshäufigkeit möglicherweise die Tatsache, dass Ihre Anwendung jeden dieser Beschleunigungsmesser-Ereignisse verarbeiten muss, anstatt für einen längeren Zeitraum im Leerlauf zu arbeiten.
Auch von der iPhone Application Programming Guide :
Wenn Sie die UIAccelerometer-Klasse verwenden regelmäßigen Beschleunigungsmesser erhalten Ereignisse, deaktivieren Sie die Lieferung dieser Ereignisse, wenn Sie sie nicht brauchen. Legen Sie auf ähnliche Weise die Häufigkeit des Ereignisses fest Lieferung auf den kleinsten Wert, der ist passend für Ihre Bedürfnisse.
Tags und Links objective-c iphone accelerometer