Я разрабатываю приложение, которое отслеживает движение пользователя с использованием информации о местоположении GPS и сети. Я использую Службы, Распознавание активности, различные частоты дискретизации и тайм-ауты GPS/сети для повышения эффективности батареи.ИТОГО энергопотребление приложения Android (CPU, GPS, Network, WiFi).
Вопрос: Как я могу измерить точную сумму (мВ, мА/час или% от общего потребления) мощности, потребляемой моим приложением? Не только база на CPU, но и по телефону GPS, Network, WiFi. Поэтому я могу сделать вывод об эффективности использования батареи в приложении.
Я получаю статистику батареи на adb shell dumpsys batterystats
.
Это то, что я вижу в течение 1 часа использования во время путешествий пешком и на поезде:
Mobile network: 10.61KB received, 7.41KB sent (packets 26 received, 34 sent)
Mobile radio active: 18s 180ms (0.7%) 8x @ 303 mspp
Wifi Running: 0ms (0.0%)
Full Wifi Lock: 2m 8s 907ms (3.9%)
**Wifi Scan: 3m 20s 904ms (6.1%)**
Wake lock NlpCollectorWakeLock: 1m 23s 525ms partial (100 times) realtime
Wake lock *alarm*: 269ms partial (97 times) realtime
Wake lock NlpWakeLock: 264ms partial (83 times) realtime
Wake lock LocationManagerService: 64ms partial (19 times) realtime
TOTAL wake: 1m 24s 122ms partial realtime
**Sensor GPS: 5m 15s 109ms realtime (185 times)**
Foreground activities: 2m 40s 107ms realtime (10 times)
Foreground for: 51m 51s 176ms
Active for: 55m 1s 142ms
Proc xxxxxxxxxxx:
**CPU: 30s 670ms usr + 6s 800ms krn ; 7s 810ms fg**
Proc *wakelock*:
**CPU: 12s 660ms usr + 15s 40ms krn ; 0ms fg**
Apk xxxxxxxxxxx:
122 wakeup alarms
Service xxxxxxxxxxx.ActivityRecognitionIntentService:
Created for: 6s 652ms uptime
Starts: 356, launches: 356
Apk com.google.android.gms:
(nothing executed)
Я думаю, что наиболее энергоемкая вещь являются датчик GPS вызовов, использование процессора и Wi-Fi.
Вопросы:
1) Как я могу интерпретировать эти цифры? Можно ли узнать, насколько каждый GPS-вызов (или в реальном времени) является дорогостоящим?
2) Есть ли лучшие способы узнать об общей потребляемой мощности приложения?
Также я вижу «Предполагаемое использование мощности (мАч) приложением: 16,4 мАч». (2300 - 100% => 16,4 - 0,71%), что, безусловно, не является общей потребляемой мощностью. –