Ich versuche festzustellen, ob sich ein Android-Benutzer in der Nähe einer Liste vorgegebener Orte aufgehalten hat. Ich möchte dies mit der geringstmöglichen Belastung für den Akku des Telefons tun. Die beiden Mechanismen, die ich sehe, um dies zu erreichen, sind Annäherungswarnungen und Anforderung von Standortaktualisierungen . Was sind die Vor- und Nachteile der beiden Methoden? Wird die eine Methode die Batterie weniger belasten als die andere? In jedem Fall würde ich vermuten, dass die spezifische Der verwendete Standortmanager hat Auswirkungen auf den Stromverbrauch (bestehende Stack Overflow-Antwort) .
Antwort
Zu viele Anzeigen?Standortaktualisierungen sind im Hinblick auf den Batterieverbrauch wahrscheinlich weniger kostspielig als Annäherungswarnungen.
Seit addProximityAlert
verwendet sowohl NETWORK_PROVIDER
und GPS_PROVIDER
verlieren Sie die Möglichkeit, den Anbieter zu wählen, den Sie verwenden möchten. Außerdem schlägt die Dokumentation zwar vor, die Abstandsüberprüfung auf einmal alle vier Minuten zu beschränken, wenn der Bildschirm ausgeschaltet ist, aber ich kann den Code zur Unterstützung einer solchen Funktionalität nicht finden, und was ich finden kann, ist im Wesentlichen ein Aufruf an requestLocationUpdates
mit einem Mindestzeitintervall von 1000 ms. Da es empfohlen wird, dass Hintergrunddienste Werte über 60000 ms verwenden, vermute ich, dass es weniger kostspielig wäre, die requestLocationUpdates
direkt mit einem großen Mindestzeitintervall und NETWORK_PROVIDER
.