Долго идет резервное копирование sony xperia. Резервное копирование и восстановление содержимого. Специализированные утилиты для смартфонов

Переводим... Перевести Китайский (упрощенное письмо) Китайский (традиционное письмо) Английский Французский Немецкий Итальянский Португальский Русский Испанский Турецкий

К сожалению, мы не можем перевести эту информацию прямо сейчас - пожалуйста, повторите попытку позже.

Christopher Bird

Управление питанием в операционной системе Android - блокировка сна

Наверное, многие сталкивались с ситуацией, когда мобильное устройство не может отработать на одной зарядке аккумулятора в течение полного дня. Каждый понимает всю неприятность ситуации, когда к концу рабочего дня телефон превращается в бесполезный кирпич. Современные приложения дают возможность выполнять на смартфонах задачи, для которых раньше требовался компьютер. Но если сравнивать смартфоны с PC, то из-за существенно меньшего размера, они отличаются и существенно меньшей емкостью аккумуляторов. Таким образом, телефон должен обладать, по сути, функциональностью ноутбука, но при этом - и это очень строгое требование - должен работать от аккумулятора без подзарядки в течение достаточно долгого времени.

В Android и в других мобильных ОС удалось добиться длительной работы от аккумулятора за счет использования агрессивной модели управления питанием. Через некоторое время после использования телефона его экран отключается, а CPU переходит в режим пониженного потребления электроэнергии. Таким образом, когда телефон не используется, энергия расходуется совсем понемногу. Благодаря такому подходу, телефоны в режиме ожидания могут работать без подзарядки в течение нескольких дней. Диспетчер электропитания Android построен на следующем, вполне логичном принципе: при отключении экрана отключается и CPU.

Но разработчики Android предусмотрели возможность не давать устройствам с этой ОС переходить в спящий режим. В некоторых случаях может потребоваться, чтобы CPU оставался в активном состоянии даже при выключенном экране, или же может понадобиться запретить автоматическое отключение экрана при выполнении определенных задач. Для этой цели разработчики Google* включили так называемые блокировки сна в API PowerManager. Приложения, которым нужно избежать «засыпания» устройства, могут воспользоваться такой блокировкой. Пока в системе есть активная блокировка сна, устройство не сможет «заснуть», то есть перейти в режим ожидания (до снятия блокировки). При использовании блокировок сна важно понимать, что необходимо правильно снимать эти блокировки, когда они не нужны. Иначе аккумулятор устройства быстро сядет: ведь устройство не сможет вернуться в состояние пониженного расхода электроэнергии.

В этой статье описываются некоторые приложения Android, использующие блокировки сна в Android 4.0. В статье также описано приложение «Wakelocks» из набора SDPSamples для демонстрации реализации блокировок сна в коде.

Использование блокировок сна приложениями

В системе Android можно увидеть, какие службы удерживают блокировки сна и не дают системе перейти в один из режимов экономии электроэнергии. Файл file /proc/wakelocks на устройстве содержит список служб и драйверов, использующих блокировки сна. Отслеживая содержимое файла /sys/power/wake_lock (требуется доступ с правами root), можно узнать, есть ли блокировка ресурсов CPU, и какая служба удерживает блокировку wakelock2. Мне удалось зафиксировать несколько случаев использования блокировок на моем смартфоне Galaxy Nexus под управлением Android 4.0:

Таблица: Использование блокировок сна стандартными приложениями Android

Приложения YouTube и Музыка являются хорошими примерами использования блокировок сна на различных уровнях. Приложение YouTube захватывает блокировку сна, когда пользователь просматривает потоковое видео. В течение всего воспроизведения видео экран остается включенным (невзирая на установленные в системе параметры экрана). Но если во время воспроизведения пользователь нажмет кнопку питания, то устройство перейдет в режим сна: экран будет отключен, а воспроизведение звука и видео прекратится. Приложение «Музыка» использует другую блокировку сна при воспроизведении аудио. Параметры экрана не изменяются, поэтому экран устройства отключится согласно настроенным параметрам. Но даже при отключенном экране блокировка сна не даст отключиться CPU, чтобы воспроизведение музыки продолжалось, даже если пользователь нажмет кнопку питания.

Выбор типа блокировки

Перед тем, как начать написание кода блокировок сна, нужно понять, какие существуют типы блокировок сна, чтобы выбрать наиболее подходящий тип для использования в приложении. В API Android PowerManager описываются различные доступные флаги блокировок, изменяющие состояние электропитания устройства:

Значение флага CPU Экран Подсветка клавиатуры
PARTIAL_WAKE_LOCK Вкл Выкл Выкл
SCREEN_DIM_WAKE_LOCK Вкл Затемнен Выкл
SCREEN_BRIGHT_WAKE_LOCK Вкл Полная яркость Выкл
FULL_WAKE_LOCK Вкл Полная яркость Полная яркость

Таблица: Из API Android PowerManager.

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

Приложение, использующее блокировку сна, должно запросить особое разрешение для этого. Для этого применяется разрешение android.permission.WAKE_LOCK в файле манифеста приложения. Это означает, что даже при установке пользователем приложения с блокировками сна с помощью Google Play, пользователи получат предупреждение о том, что данное приложение содержит компоненты, которые могут не дать телефону «заснуть». Если требуется запретить затемнение экрана при определенном действии приложения, это можно сделать и способом, для которого не нужно особое разрешение. В WindowManager есть переменная FLAG_KEEP_SCREEN_ON, которую можно задать, если методу View приложения нужно оставить экран во включенном состоянии. Для управления экраном рекомендуется использовать именно такой подход, поскольку его воздействие происходит только внутри приложения. При переключении пользователя к другому приложению WindowManager снимает блокировку сна.

Удержание экрана во включенном состоянии (из набора SDPSamples)

Приложение WakeLock из набора SDPSamples демонстрирует, что приложение может удерживать экран во включенном состоянии с помощью Window Manager, без написания кода блокировки сна. Запустите приложение WakeLock и выберите элемент списка "Win Man Screen On".

Пока в строке состояния кнопки будет текст «Screen is LOCKED», экран будет включен. Если же в строке состояния кнопки будет текст «Screen is UNLOCKED», то через 5 секунд бездействия экран отключится.

В коде это осуществляется функцией screenLockUpdateState() в файле WakeLockActivity.java путем установки и снятия FLAG_KEEP_SCREEN_ON для текущего окна при каждом нажатии кнопки и изменении состояния.

Public void screenLockUpdateState() { if (mIsDisplayLocked) { ... // update display state getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } else { ... // update display state getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } }

Реализация блокировки сна

В приложение WakeLock из набора SDPSamples реализованы блокировки сна различных типов. После запуска приложения WakeLock выбираем один из 4 типов блокировок сна: Power Wake Lock Full, Power Wake Lock Bright, Power Wake Lock Dim и Power Wake Lock Partial. Эти 4 варианта соответствуют 4 флагам блокировок сна, описанным в API PowerManager. Каждый элемент демонстрирует реакцию устройства на попытку отключить экран через 5 секунд.

Отслеживая содержимое файла /sys/power/wake_lock (требуется доступ с правами root), можно увидеть, что после нажатия кнопки питания сохраняется только блокировка сна PARTIAL_WAKE_LOCK . Остальные блокировки сна не дают полностью отключить экран: он продолжает работать с тем или иным уровне яркости.

При написании кода блокировок сна нужно прежде всего запросить разрешение на их использование в манифесте AndroidManifest.xml:

После этого можно создать объект WakeLock, содержащий функции acquire() и release() для управления блокировкой сна. Хороший пример находится в файле WakeLockActivity.java:

Public void onCreate(Bundle savedInstanceState) { ... mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); ... mWakeLock = mPowerManager.newWakeLock(mWakeLockState, "UMSE PowerTest"); if (mWakeLock != null) { mWakeLock.acquire(); ... } } protected void onDestroy() { if (mWakeLock != null) { mWakeLock.release(); mWakeLock = null; } ... }

Заключение

Блокировка сна - это возможность системы Android, позволяющая разработчикам изменять состояние электропитания устройства по умолчанию. Опасность использования блокировок сна в приложениях заключается в преждевременном израсходовании заряда аккумуляторов. Некоторые явные преимущества блокировок сна очевидны в ряде стандартных приложений Google, например, для навигации или для воспроизведения музыки и видео. Каждый разработчик приложений должен самостоятельно принимать решение о том, будет ли применение блокировок сна целесообразным.

Об авторе

Кристофер Берд (Christopher Bird) начал свою карьеру в подразделении Intel SSG в 2007 году и участвует в построении экосистемы устройств с процессорами Atom (телефонов и планшетов)

Справочные материалы

2 LWN – “Wakelocks and the embedded problem”: http://lwn.net/Articles/318611/

Примечания

ИНФОРМАЦИЯ В ДАННОМ ДОКУМЕНТЕ ПРИВЕДЕНА ТОЛЬКО В ОТНОШЕНИИ ПРОДУКТОВ INTEL. ДАННЫЙ ДОКУМЕНТ НЕ ПРЕДОСТАВЛЯЕТ ЯВНОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ЛИЦЕНЗИИ, ЛИШЕНИЯ ПРАВА ВОЗРАЖЕНИЯ ИЛИ ИНЫХ ПРАВ НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ. КРОМЕ СЛУЧАЕВ, УКАЗАННЫХ В УСЛОВИЯХ И ПРАВИЛАХ ПРОДАЖИ ТАКИХ ПРОДУКТОВ, INTEL НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ И ОТКАЗЫВАЕТСЯ ОТ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ В ОТНОШЕНИИ ПРОДАЖИ И/ИЛИ ИСПОЛЬЗОВАНИЯ СВОИХ ПРОДУКТОВ, ВКЛЮЧАЯ ОТВЕТСТВЕННОСТЬ ИЛИ ГАРАНТИИ ОТНОСИТЕЛЬНО ИХ ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ, ОБЕСПЕЧЕНИЯ ПРИБЫЛИ ИЛИ НАРУШЕНИЯ КАКИХ-ЛИБО ПАТЕНТОВ, АВТОРСКИХ ПРАВ ИЛИ ИНЫХ ПРАВ НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ.

КРОМЕ СЛУЧАЕВ, СОГЛАСОВАННЫХ INTEL В ПИСЬМЕННОЙ ФОРМЕ, ПРОДУКТЫ INTEL НЕ ПРЕДНАЗНАЧЕНЫ ДЛЯ ИСПОЛЬЗОВАНИЯ В СИТУАЦИЯХ, КОГДА ИХ НЕИСПРАВНОСТЬ МОЖЕТ ПРИВЕСТИ К ТРАВМАМ ИЛИ ЛЕТАЛЬНОМУ ИСХОДУ.

Корпорация Intel оставляет за собой право вносить изменения в технические характеристики и описания своих продуктов без предварительного уведомления. Проектировщики не должны полагаться на отсутствующие характеристики, а также характеристики с пометками «зарезервировано» или «не определено». Эти характеристики резервируются Intel для будущего использования, поэтому отсутствие конфликтов совместимости для них не гарантируется. Информация в данном документе может быть изменена без предварительного уведомления. Не используйте эту информацию в окончательном варианте дизайна.

Продукты, описанные в данном документе, могут содержать ошибки и неточности, из-за чего реальные характеристики продуктов могут отличаться от приведенных здесь. Уже выявленные ошибки могут быть предоставлены по запросу. Перед размещением заказа получите последние версии спецификаций в региональном офисе продаж Intel или у местного дистрибьютора.

Номерные копии документов, на которые имеются ссылки в данном документе, а также другие материалы Intel можно заказать по телефону 1-800-548-4725 или загрузить по адресу http://www.intel.com/design/literature.htm

Программное обеспечение и нагрузки, использованные в тестах производительности, могли быть оптимизированы для достижения высокой производительности на микропроцессорах Intel. Тесты производительности, такие как SYSmark и MobileMark, проводятся на определенных компьютерных системах, компонентах, программах, операциях и функциях. Любые изменения любого из этих элементов может привести к изменению результатов. При выборе приобретаемых продуктов следует обращаться к другой информации и тестам производительности, в том числе к тестам производительности определенного продукта в сочетании с другими продуктами.

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

Intel® и эмблема Intel являются товарными знаками корпорации Intel в США и в других странах.

© Intel Corporation, 2012. Все права защищены.

*Другие наименования и торговые марки могут быть собственностью третьих лиц.

На многих смартфонах и планшетах под управлением Android экран отключается через 30 секунд бездействия пользователя. Как правило, это оптимальный вариант, при котором можно комфортно пользоваться устройством и экономно расходовать заряд его батареи. Но бывают моменты, когда необходимо отключить спящий режим при работе какого-либо приложения. Так как штатными средствами Android сделать это невозможно, мы расскажем, как это реализовать другими способами.
Для начала, давайте определимся, зачем нам может понадобиться отключать тайм-аут экрана, ведь лишнее время работы экрана приводит к быстрой разрядке аккумулятора? Например, вы читаете статью в браузере или смотрите видео в YouTube, делаете паузу и через минуту ваше устройство уже спит крепким сном. Или другой вариант – вы используете смартфон в качестве пульта управления или демонстрируете слайды. Таким образом, самыми распространенными случаями, когда требуется постоянно активный экран, являются:

Некоторые программы и игры отлично справляются с этой задачей самостоятельно. Обычно, во многих читалках, видеоплеерах и других приложениях в настройках есть опция, препятствующая засыпанию устройства. Но далеко не во всех. В таких случаях проще всего в системных настройках выставить более длительный тайм-аут экрана для активного режима. Но, согласитесь, это даже не столько неудобно, сколько нерационально. Поэтому мы поступим по-другому и будем использовать сторонние средства для тонкой настройки блокировки экрана.

Способ 1. Модуль Xposed

Этот способ требует наличие на устройстве и установленной специальной среды выполнения . Модуль, который нам необходимо подключить к Xposed Framework, называется Stay Awake – Keep On Screen . Он позволяет легко отключать блокировку экрана на определенных приложениях и возвращаться к предыдущим настройкам тайм-аута экрана.

Как загрузить и установить Stay Awake – Keep On Screen:
После всех этих действий можно использовать функцию включения/отключения спящего режима на системном уровне для каждого приложения. Работает это очень просто. Чтобы запретить экрану отключаться, просто зажмите обе кнопки громкости в любом активном приложении. Вы увидите надпись «Stay Awake Enable» – это означает, что экран в текущем приложении будет включен постоянно.

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

Способ 2. Приложения

Это приложение в русскоязычном Google Play известно под названием «Негаснущий экран». Маленькая утилита с приятным дизайном имеет одну единственную функцию – не давать устройству переходить в спящий режим при работе выбранных приложений. Чтобы ее активировать, просто запустите Keep Screen On и отметьте необходимые приложения, во время работы которых вы хотите оставить экран постоянно включенным.


Утилита умеет работать со всеми установленными на устройстве программами, включая системные службы. Преимуществом Keep Screen On является простота использования и тот факт, что приложение абсолютно бесплатное и не содержит рекламы.


Еще одно бесплатное, но более функциональное приложение под названием Stay Alive!, которое также умеет управлять тайм-аутом экрана. Утилита позволяет задать правила отключения экрана не только для выбранных приложений, но и для тех программ и системных служб, которые не были отмечены. При этом Stay Alive! не имеет никаких фильтров или дополнительных опций для приложений и показывает все установленные на устройстве программные компоненты в общем списке. А если у вас установлено, к примеру, 100+ приложений, тогда лучше воспользоваться поиском. Особенностью утилиты является то, что она позволяет не отключать экран, даже когда конкретная программа не запущена, но работает в фоне.


Stay Alive! имеет несколько режимов работы:
  • активный режим во время зарядки устройства;
  • активный режим во время зарядки и при работе от аккумулятора;
  • режим паузы (неактивный режим);
  • автоматический режим с правилами для выбранных приложений.
Переключаются они с помощью небольшой панели, которая прячется за шторкой.


Стоит признать, Stay Alive! выполняет свою основную задачу на 5+. Приложение не просто запрещает устройству уходить в спящий режим, а предлагает индивидуальные настройки для различных условий. Например, можно запретить экрану выключаться при зарядке, при подключении к автомобильной док-станции или вообще полностью отключить тайм-аут экрана. Помимо этого, Stay Alive! может приостанавливать свое действие, когда заряд батареи достигает заданного процента.

Среди дополнительных функций есть очень полезная опция «Allow the screen to dim», которая позволяет затемнять экран, но не выключать его полностью.


Единственный недостаток Stay Alive! – это платные функции, самой важной из которых является автозагрузка приложения. Так что, если вы пользуетесь бесплатной версией, вам придется каждый раз после включения/перезагрузки устройства вручную запускать утилиту.

А как вы настраиваете тайм-аут экрана вашего мобильного устройства? И приходилось ли вам запрещать экрану отключаться в определенных программах?

Знакомая ситуация: вы считываете некую информацию с экрана смартфона, а дисплей в этот момент затухает. А если на прочтение потребуется не несколько секунд, а значительно больше? Понятно, что постоянное нажимание кнопки включения, мягко говоря, раздражает.

Как сделать чтобы не гас экран Андроид? Оказывается, ситуация не столь критична как может показаться. Для её решения существует несколько способов, о которых мы сейчас поговорим.

Чтобы отрегулировать отключение экрана своего телефона, используя предустановленные инструменты, нужно зайти в «Настройки «, открыть раздел «Экран «, выбрать пункт «Спящий режим » и выставить там комфортное для вас время «бодрствования» смартфона, после которого экран будет гаснуть, или вообще убрать спящий режим, отметив соответствующую строку:

Как отключить тайм аут экрана с помощью стороннего софта

Думаю, не стоит особо вдаваться в подробности, для чего нужна функция «Спящий режим», или отключение экрана через определённый промежуток времени (таймаут от англ. timeout – время ожидания). Понятно, что, если смартфон будет находиться постоянно в активном режиме, то заряд батареи слишком быстрыми темпами начнёт стремиться к нулю.

В таком случае проблема легко решается с использованием специальных утилит.

Hold Screen On Demo

Эта программа не даст погаснуть экрану, пока вы на него смотрите. С помощью фронтальной камеры Hold Screen ON улавливает ваш взгляд и не даёт смартфону «уснуть». Когда же вы перестаёте смотреть на экран, он затухает и, соответственно, прекращается потребление ресурсов.

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

Владельцы Samsung Galaxy S3 пользуются этой функцией без установки утилиты, поскольку в этой модели она присутствует по умолчанию, а если у вас более простой аппарат, то нужно просто скачать Hold Screen ON :

KeepScreen (now free)

Ещё одно хорошее приложение, которое отлично справляется с задачей отключения таймаута. В отличие от предыдущего, Keep Screen контролирует положение аппарата, используя встроенный гироскоп. Поэтому, когда вы держите свой гаджет в руках, утилита, учитывая его угол наклона относительно горизонтальной оси, не даст экрану погаснуть.

Кроме того, здесь тоже есть возможность заблокировать отключение экрана на Андроид-устройстве для выбранных приложений. Для этого, после указания нужной программы, нажимаем»Start/stop service «, а на телефоне, в датчике погашения экрана (см. первый скриншот) выставить интервал 30 секунд.

Keep Screen бережно относится к ресурсам смартфона и работает в фоновом режиме, для этого нажимаем «On », а после этого «Save and restart app ».

Важно! Если выключить (заблокировать) аппарат, используя кнопку питания, во время работы программы, то по истечении тридцати секунд экран включится и уже не погаснет. Поэтому, прежде чем блокировать гаджет кнопкой питания, нужно закрыть приложение или просто вернуться на основной рабочий стол.

По сегодняшней теме нам больше нечего добавить, а, насколько была полезна представленная информация, судить, конечно, вам. Удачи!




Top