Предположим, я создаю приложение camera2 с MediaRecorder для записи на одну минуту, паузы на следующую минуту, записи на следующую минуту и повторения в общей сложности 200 минут (в течение которых 100 минут записывается). Мне не нужен экран предварительного просмотра, поэтому я избегаю его для экономии энергии. Внутренний l oop может либо «приостановить и возобновить», либо «остановить и запустить» MediaRecorder. Опция «Остановка и запуск» позволяет сохранять отдельные небольшие видеофайлы, поэтому большая часть данных сохраняется в случае сбоя системы, но для этого требуется сброс параметров MediaRecorder (т. Е. Для этого требуется установить VideoSource, et c.) каждую минуту.
Мой вопрос, однако, касается энергопотребления. Я бы сказал, что есть два вклада в общее энергопотребление: загрузка кадров Camera2 в память и MediaRecorder, обрабатывающий эти кадры (я не буду сохранять файл, поскольку его энергопотребление должно быть примерно одинаковым для всех параметров метода).
Кажется, я мог бы также закрыть свой CameraDevice в течение незаписанной минуты, чтобы сэкономить электроэнергию, но, возможно, операционная система Android уже делает это, даже не задумываясь об этом. В любом случае, мои окончательные варианты эксперимента станут следующими:
- пауза и возобновление, закрытие и повторное открытие камеры
- пауза и возобновление, оставление камеры открытой
- остановка и запуск, закрытие и снова откройте камеру
- остановитесь и начните, оставьте камеру открытой
Как эти 4 варианта сравниваются на новом Android 10 оборудовании? Грубая теория без экспериментальных данных в порядке. Действительно ли № 3 действительно лучший (не менее 10% экономии энергии по сравнению с другими вариантами)? Есть ли еще один способ использовать еще меньше энергии?