#iphone #ios #profiling #instruments
#iPhone #iOS #профилирование #приборы
Вопрос:
У меня есть приложение, в которое я добавил много анимации. Приложение также использовало «iPhone sleep preventer» для воспроизведения звука без звука. С тех пор я заметил, что потребление батареи увеличилось в 4 раза!Я хотел бы найти способ профилирования энергопотребления (я думаю, что видел опцию в инструментах), чтобы найти и устранить методы, вызывающие нарушения.
С чего бы мне начать поиск подобной информации? В настоящее время у меня телефон остается на столе на ~ 3 часа, чтобы со временем записывать расход энергии. Есть ли лучший способ предсказать, когда приложение разрядится, если мое приложение будет работать непрерывно?
Дополнительный побочный вопрос: отображается ли оставшийся процент заряда батареи в строке состояния линейно или есть некоторая нелинейность к концу срока службы батареи?
Редактировать: я нашел предустановку «power» в xcode> product> profile> CPU> Energy diagnostics.Похоже, что это работает не идеально, поскольку уровень энергопотребления всегда равен 0/20. Но это говорит мне, сколько процессорного времени тратится на передний план приложения, графику и музыку!
Теперь я не знаю, как управляется мощность процессора, работает ли процессор на 75% больше энергопотребления, чем, скажем, на 30%? Интуитивно кажется, что так и должно быть…
Спасибо!
Комментарии:
1. Я не знаю о профилировщиках мощности, но я подозреваю, что воспроизведение «бесшумного звука» вносит свой вклад. Я полагаю, что телефон обычно отключает питание своих цепей аудиоусилителя, и это приведет к тому, что они будут постоянно питаться. Кроме того, включена ли подсветка дисплея? Это, вероятно, самый голодный компонент в телефоне.
2. экран остается включенным для целей акселерометра. Я получаю самые разные результаты энергопотребления. В некоторых случаях кажется, что телефон может работать 8 часов, в некоторых — только 5. это начинается со 100%
3. Это может быть связано с автоматической регулировкой яркости в разное время суток и уровней освещенности
Ответ №1:
Я не эксперт. На самом деле я только начинаю настраивать профиль iphone сегодня и рассмотрел ваш вопрос здесь в надежде на обучение.
Поэтому я поделюсь тем, что я нашел в «Тем временем». В библиотеке разработчиков IOS я нашел следующее:
- Подключите устройство к вашей системе разработки.
- Запустите Xcode или инструменты.
- На устройстве выберите Настройки> Разработчик и включите ведение журнала питания.
- Отключите устройство и выполните необходимые тесты.
- Повторно подключите устройство.
- В Инструментах откройте шаблон диагностики энергопотребления.
- Выберите Файл> Импортировать диагностику энергопотребления с устройства.
И у вас есть отчет о процессоре и энергии во время регистрации. Вы можете найти эти шаги и многое другое в этом разделе библиотеки разработчиков IOS.
Я все еще немного новичок в этом вопросе, поэтому, если вы найдете что-нибудь, что, по вашему мнению, имеет смысл, пожалуйста, опубликуйте эту информацию здесь.
Редактировать: библиотека разработчиков Apple претерпела некоторые изменения. Обновленная ссылка
Комментарии:
1. Нуно, это отличная находка, именно то, что мне было нужно! Спасибо
2. Чтобы избавить будущих читателей от путаницы, мне потребовалось несколько минут, чтобы найти абзац по ссылке выше: «Примечание: инструмент энергопотребления в настоящее время поддерживается в iPhone 3GS и iPod touch третьего поколения».
3. Кто-нибудь может поделиться информацией о том, как упорядочить данные
4. @Mayjak есть ли какой-либо способ отличить и отфильтровать собранный отчет только для моего приложения? (даже если я выбрал цель, это не имеет значения и показывает весь отчет! Я хочу проверить использование GPS, но только для моего приложения
5. @MoFarhand Я больше не разрабатываю приложения для iOS, но «в мои дни» это было невозможно. Я бы просто отключил или ограничил доступ к местоположению буквально ко всему, кроме вашего приложения, на вашем тестовом устройстве.