У меня есть диспетчер аварийной сигнализации, и я проверяю с моим сервером каждые 30 минут для новых данных, я хочу измерить использование батареи этой конкретной задачей или другой вопрос, как измерить использование батареи для запуска каждой службы и класса в моем приложении?Как измерить расход батареи для конкретного диспетчера аварийных сигналов?
ответ
Независимо от того, проверяете ли вы каждые 30 минут или каждые 2 часа, не должно быть разницы. (Я предполагаю, что обработка, которую вы делаете, когда вы проверяете, невелика.) Часто проверка является проблемой в отношении разряда батареи, но только в ситуациях, когда интервал между проверками равен < 1 сек.
Так что, если ваш вопрос: «Какой лучший интервал использовать?» то 30 минут не должно быть проблемой.
Если у вас возник вопрос: «У меня проблема с утечкой батареи и вам нужно выяснить, где это», тогда это станет вопросом профилирования. И это становится намного сложнее, особенно когда вы пытаетесь просмотреть вещи из класса или даже с легким весовым процессом (например, с потоком). Вы можете выполнять профилирование на уровне класса или потока, но это становится очень сложным, если у вас нет оборудования со специальными регистрами для записи информации о мощности, токе или напряжении.
Если вам нужно только профиль на уровне процесса, есть много хороших инструментов. Простой веб-поиск будет достаточным. Потребляемая мощность тесно связана с использованием ЦП. Если вы уменьшите использование ЦП, скажем, сделав свою программу быстрее, вы, вероятно, также уменьшите потребление энергии (то есть мощность).
Вы используете существующий диспетчер аварийных сигналов или создали свой собственный? Кроме того, почему вы хотите проверить использование батареи? Это означает, что у вас проблемы. –
Моя собственная сигнализация проверяет мой сервер каждые 30 минут, мне нужно это знать, потому что если 30 минут используют много батареи, я могу изменить ее на 1 час или, возможно, на 2 часа, или если использование батареи справедливо, возможно, я уменьшу ее до 10 минут – Michael