2016-04-27 4 views
2

Я работаю над проектом, который включает в себя использование акселерометра и гироскопа.Производительность системы и использование аккумулятора при использовании акселерометра и гироскопа

В конкретном приложении я работаю, я включаю (например .startGyroUpdatesToQueue) акселерометр и гироскоп при необходимости и выключать (например, .stopGyroUpdates()), когда не требуется аналогичны рекомендации документации Apple.

Тем не менее, я заметил, что при повороте акселерометра и гироскопа может появиться небольшая задержка, когда пользователь замечает время от времени. Поэтому предпочтение заключается в том, чтобы всегда держать акселерометр и гироскоп, чтобы пользователь получал непрерывный опыт.

Вопросы:

1 - Насколько эффективна акселерометр и гироскоп на производительности системы и использования батареи, когда они включены в приложение?

2 - Имеются ли данные/данные о работе системы и использовании батареи, когда акселерометр и гироскоп включены?

3 - Есть ли способ приостановить акселерометр и гироскоп, а не полностью отключить его?

ответ

2

Ответный номер 3 сначала, на современных iPhone (5S и более поздних) the accelerometer is never really turned off and resides in a special motion coprocessor. На этих устройствах стоимость энергии для создание данные постоянны, но получение данные стоят дорого. Это требует таймера для рутинного пробуждения основного процессора, чтения данных, пробуждения вашего приложения и выполнения события в одном из ваших потоков. Самое близкое к тому, что вы просите, - это способ включить таймер, но не использовать его в своем приложении. Кажется, что нет способа сделать это, и экономия энергии, вероятно, не будет такой большой, если бы она была.

Имея это в виду, 1 будет довольно субъективным. Процессор и ваше приложение будут тратить больше времени на работу, но если вы уже делаете работу над процессором, это будет так много? Точно так же, если пользователи тратят только 5% своего времени на экран, где вам не нужен акселерометр против 50% своего времени, общее энергетическое воздействие его постоянного включения будет намного меньше. Это действительно подводит нас к основному вопросу, номер 2.

Если вы хотите узнать, какие затраты на энергию связаны с постоянным опросом акселерометра и только включением, когда это необходимо, вы должны профилировать свое приложение. При отладке приложения вы можете просматривать процессор, энергию и другие воздействия вашего приложения прямо в Xcode с помощью Debug Navigator (). Это объясняется в статье Energy Efficiency Guide of iOS Apps: Measure Energy Impact with Xcode от Apple. Вы также можете получить более подробный анализ с помощью инструментов. Apple предоставляет полную информацию о своих Energy Efficiency Guide of iOS Apps: Measure Energy Impact with Instruments.

Используя приведенные выше инструменты, вы должны быть в состоянии понять, сколько энергии потребуется, чтобы ваш акселерометр всегда был включен, и иметь возможность принять обоснованное решение о том, что делать.

+0

Благодарим за советы! – user4806509

Смежные вопросы