Многооконный режим на андроид

Меню с расширенными опциями для разработчиков в операционной системе Android является скрытым. Как можно догадаться, в большинстве своем функции, представленные в нем, ориентированы на подготовленных людей, рассматривающих платформу не только с точки зрения пользователя. Попасть в меню можно, нажав семь раз по пункту «Номер сборки», который находится в разделе настроек «О телефоне». Одно условие — вы должны иметь root-доступ к системе.

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

1. Включить режим USB-отладки

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

Также можно использовать команды отладочного моста для обмена файлами или создания и восстановления резервных копий устройства без применения прав суперпользователя. Важно помнить, что USB-отладка может угрожать безопасности, если Android-устройство будет подключено к зараженному USB-порту.

2. Использовать пароль для резервного копирования

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

3. Отключить или изменить скорость анимации

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

4. Включить «4х MSAA» для игр, использующих трехмерную графику

Телефоны и планшеты высокого класса с выдающейся графической производительностью и поддержкой современных 3D-игр подразумевают возможность осуществить еще лучшее взаимодействие с ресурсозатратными программами. Для этого в разделе «Для разработчиков» предусмотрен специальный пункт, позволяющий включить опцию «4x MSAA». Это заставит устройство использовать четырехкратное сглаживание в технологии OpenGL ES 2.0, что значительно улучшит качество графики, но, возможно, быстро посадит аккумулятор.  

5. Убедиться в негативном влиянии приложений типа «Task Killer»

Подобное ПО используется для автоматического завершения процессов, исполняемых приложениями. Но специалисты утверждают, что приложения типа «Task Killer» не просто бесполезны, а вредны. Их применение лишь замедляет быстродействие системы удалением кэшированных данных, заставляя Android каждый раз при новом запуске загружать приложения из памяти. Подраздел «Не сохранять действий» поможет убедиться в этом.

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

Именно поэтому разработчики Google поместили данную функцию в скрытое меню, подальше от обычных юзеров, которые могли бы случайно активировать режим «Task Killer», а после винить платформу в медленной работе.

6. Активировать фиктивное местоположение

Суть данной возможности полностью раскрывается в ее названии. Она направлена на обмане самого Android-устройства по поводу его местонахождения. Использование этой скрытой функции и приложения «Fake GPS» позволит внушить системе и отдельным программам, что пользователь находится в месте, в котором его на самом деле нет. Как это можно использовать в реальной жизни? Скорее всего, это может стать фундаментом для шутки над друзьями по поводу мгновенной телепортации в другой конец Земли с помощью тех приложений, что используют функцию «check-in», демонстрирующую местоположение.

7. Не позволять устройству выключать экран во время зарядки

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

8. Проверить загруженность процессора

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

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

При использовании приложения «Камера» в смартфоне Lenovo может возникнуть проблема с видимостью (отображением) отснятых фотоснимков в приложении «Галерея». При этом, если подключить смартфон к компьютеру, то созданные снимки можно обнаружить в папке DCIM во внутренней памяти или на карте SD, в зависимости от того какая из них выбрана в качестве памяти Lenovo по умолчанию.

Как устранить проблему с видимостью снимков в Галерее

  1. Скачиваем и устанавливаем из Play Market какой-нибудь проводник. Это может быть Total Commander, File Manager, ES проводник и др.
  2. Находим через установленный проводник папку DCIM, где располагаются отснятые ранее фото. Выбираем одно из них, жмем на его до появления дополнительного меню.
  3. Выбираем «Открыть с помощью».
  4. Выбираем «Галерея». Если есть пункт (обычно находится внизу) «По умолчанию», то перед выбором галереи ставим там галочку.

*После вышеописанных действий все фотоснимки из папки DCIM должны появиться в приложении «Галерея».

*Если проблема не решилась проверьте есть ли в приложении «Галерея» папка «Камера». Если нет, можно попробовать обновить приложение «Галерея» через Play Market.

Видео

Теги:Приложения, Синхронизация,
Комментарии (2) | Обновлено: February 7, 2017

Эффективное использование GPU

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

Настроить параметры GPU визуализации

Если ваше приложение тормозит, значит часть или все кадры обновления экрана обновляются больше чем 16 миллисекунд. Чтобы визуально увидеть обновления кадров на экране, можно на устройстве включить специальную опцию Настроить параметры GPU визуализации (Profile GPU Rendering).

У вас появится возможность быстро увидеть, сколько времени занимает отрисовка кадров. Напомню, что нужно укладываться в 16 миллисекунд.

Опция доступна на устройствах, начиная с Android 4.1. На устройстве следует активировать режим разработчика. На устройствах с версией 4.2 и выше режим по умолчанию скрыт. Для активации идёт в Настройки | О телефоне и семь раз щёлкаем по строке Номер сборки.

После активации заходим в Опции разработчика и находим пункт Настроить параметры GPU визуализации (Profile GPU rendering), который следует включить. В всплывающим окне выберите опцию На экране в виде столбиков (On screen as bars). В этом случае график будет выводиться поверх запущенного приложения.

Вы можете протестировать не только своё приложение, но и другие. Запустите любое приложение и начинайте работать с ним. Во время работы в нижней части экрана вы увидите обновляемый график. Горизонтальная ось отвечает за прошедшее время. Вертикальная ось показывает время для каждого кадра в миллисекундах. При взаимодействии с приложением, вертикальные полосы рисуются на экране, появляясь слева направо, показывая производительность кадров в течение какого-то времени. Каждый такой столбец представляет собой один кадр для отрисовки экрана. Чем выше высота столбика, тем больше времени уходит на отрисовку. Тонкая зелёная линия является ориентиром и соответствует 16 миллисекундам за кадр. Таким образом, вам нужно стремиться к тому, чтобы при изучении вашего приложения график не выбивался за эту линию.

Рассмотрим увеличенную версию графика.

Зелёная линия отвечает за 16 миллисекунд. Чтобы уложиться в 60 кадров в секунду, каждый столбец графика должен рисоваться ниже этой линии. В каких-то моментах столбец окажется слишком большим и будет гораздо выше зелёной линии. Это означает торможение программы. Каждый столбец имеет голубой, фиолетовый (Lollipop и выше), красный и оранжевый цвета.

Голубой цвет отвечает за время, используемое на создание и обновление View.

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

Красный цвет представляет собой время для отрисовки.

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

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

Отладить показатель GPU overdraw

Другая настройка позволяет узнать, как часто перерисовывается один и тот же участок экрана (т.е.

выполняется лишняя работа). Опять идём в Опции разработчика и находим пункт Отладить показатель GPU overdraw (Debug GPU Overdraw), который следует включить. В всплывающим окне выберите опцию Показывать зоны наложения (Show overdraw areas). Не пугайтесь! Нкоторые элементы на экране изменят свой цвет.

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

Если цвет в приложении не изменился, значит всё отлично. Нет наложения одного цвета поверх другого.

Голубой цвет показывает, что один слой рисуется поверх нижнего слоя. Хорошо.

Зелёный цвет — перерисовывается дважды. Нужно задуматься об оптимизации.

Розовый цвет — перерисовывается трижды. Всё очень плохо.

Красный цвет — перерисовывается много раз. Что-то пошло не так.

Вы можете самостоятельно проверить своё приложение для поиска проблемных мест. Создайте активность и поместите на неё компонент TextView. Присвойте корневому элементу и текстовой метке какой-нибудь фон в атрибуте android:background. У вас получится следующее: сначала вы закрасили одним цветом самый нижний слой активности.

Затем поверх неё рисуется новый слой от TextView. Кстати, на самом TextView рисуется ещё и текст.

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

Маленький совет. Поместите после метода setContentView() вызов метода, который уберёт перирисовку экрана цветом темы. Это поможет убрать одно лишнее наложение цвета:

Дополнительные материалы

Android Performance Patterns — YouTube

Performance Profiling Tools | Android Developers

Курс на Udacity

Реклама

Статья проплачена кошками — всемирно известными производителями котят.

Если статья вам понравилась, то можете поддержать проект.

Представляем вашему вниманию Видео: Мультиокна как на Андроид 7.0 на Вашем Андроид (Xposed) с канала Всё про Андроид.

Приятного просмотра!

Перейти на канал Android Software
Скачать модуль

Плавающие окна и мультиоконный режим для любых приложений (в том числе и форсированный — т. е. открытие в окне при любом запуске приложения);
Тонкая настройка плавающего окна для каждого приложения (ширина, высота, положение на экране, DPI, возможность перемещать окно и изменять его размеры, запрет выгрузки приложения из памяти, подстройка цвета заголовка окна под цвет приложения (автоматически или вручную), размер заголовка окна и других его частей);
Перемещение окна в режиме drag & drop, изменение его размеров жестом по правому углу окна, долгий тап для скрытия панели заголовка, «живое» обновление содержимого окна при изменении его размеров;
Возможность задать для любого приложения в окне DPI (плотность экрана), отличную от системной;
Плавающая кнопка для запуска бара с приложениями, настройки ее внешнего вида;
Форсированная ориентация экрана по выбору пользователя.

Leave a Comment