Pull to refresh
0
Google Developers
Build anything with Google

Google I/O 2016: Подробности об Android N и Android-экосистеме

Reading time 10 min
Views 22K
Привет, Хабр! За последний год пользователи Android по всему миру более 65 млрд. раз установили приложения из Google Play, созданные такими же разработчиками, как вы. Сегодня Android — самая популярная платформа и операционная система в мире, и само собой, мы каждый день работаем над ней. Как мы и обещали в нашем глобальном обзоре Google I/O 2016, сегодня пост про грядущие изменения в N: новые фичи и переработанные старые, изменения в UI, VR-платформа и Android для носимой электроники ждут вас под катом.




Android N: N — значит Новый


Платформа Android развивается невероятными темпами. Не так давно мы представляли новый UI и концепцию Material Design, новый компилятор ART, который занял место виртуальной машины Dalvik, ввели улучшеный режим сна и энергосбережения, показывали новые API для камеры, платёжной системы, биометрических датчиков… И казалось, что для N не осталось ничего такого, что могло бы действительно стать достойным заголовком для новостей. Однако, прошедший I/O показал, что Android есть куда расти, а количество изменений сравнимо с переходом Android 2.3 => 4.0 или 4.4 => 5.0, и сейчас даже сложно выбрать, о чём рассказать в первую очередь.

Направления развития Android


Для Android N мы выбрали три основных направления, в которых провели значимые улучшения нашей мобильной ОС: производительность, безопасность, продуктивность (эффективность). При этом мы старались изменять работу системы, отталкиваясь от потребностей самих пользователей и информации о том, как именно они используют телефон, что для них важно, какие повседневные проблемы решают с помощью Android и мобильных приложений.

Производительность


Мы долго совершенствовали подсистему OpenGL, но в Android N мы делаем качественный шаг вперёд, внедряя поддержку API Vulkan.

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



Ещё одним приятным бонусом является унификация API с десктопными технологиями, что позволит разработчикам использовать один и тот же код и ресурсы на смартфонах, компьютерах (и, потенциально, приставках следующего поколения). Кроме того, Vulkan имеет меньший CPU overhead (то есть на отрисовку каждого кадра не требуется столько ресурсов центрального процессора, сколько требует OpenGL). Создатели игр и трёхмерных приложений смогут увеличить качество отображаемой картинки или поднять частоту кадров на уже имеющемся железе.

Второй важный шаг в повышении производительности Android N –  работа над средой выполнения программ и новый JIT компилятор. Обновление Android Runtime привнесло увеличение производительности от 40 до 600% в различных бенчмарках, а новый компилятор ускорил установку приложений в среднем на 75%.



При этом особенности JIT-компилятора и того, как он превращает .apk в установленное приложение позволило добиться сокращения потребления внутренней памяти установленными приложениями до 50%.



Итого мы имеем: новый API графической подсистемы, который приносит консольные технологии на смартфон; обновлённый Runtime, который ускоряет работу приложений; новый компилятор, экономящий место на накопителе и увеличивающий скорость установки приложения. Неплохо?

Безопасность


В Android уже были внедрены такие элементы, как SELinux, проверки Boot Integrity, возможность полного шифрования носителя информации, но безопасности никогда не бывает много.



Файловое шифрование в отличие от блочного шифрования позволяет лучше изолировать отдельные процессы и пользователей в системе

Улучшение в безопасности Media Framework — отдельные элементы мультимедиа-фреймворка были вынесены в раздельные процессы SELinux, так как Media Framework один из самых широкоиспользуемых элементов и может работать с данными, безопасность которых находится под вопросом.  

А теперь — самое главное. Android N получит «фичу» из Chrome OS: фоновые обновления системы. Устройства на базе N будут иметь два системных образа: пока в одном вы работаете, второй может быть обновлён в фоне. При следующей загрузке телефона он прото выберет образ с более свежей версией системы. Благодаря шифрованию на уровне файлов, новому режиму работы Direct Boot и двум образам систем вам не придётся ждать, пока система обновится. А новый JIT-компилятор избавит вас от многоминутного созерцания вот этой картины:



Продуктивность


Сами по себе улучшения ОС в области «грубой силы» и защищённости — хороши, но ещё лучше, когда это дополняется продуманным и удобным интерфейсом, качественным встроенным ПО и тем, что многие пользователи описали бы как «интуитивность». Разумеется, за всеми этими понятиями стоят сотни и тысячи человеко-часов работы.

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

Мы провели детальное исследование и выяснили, что подавляющее большинство пользователей переключается только между 7 последними приложениями. В Android N система будет скрывать из списка недавних приложения, которые вы давно не открывали, так что найти нужное не составит труда. А ещё по многочисленным просьбам мы добавили для nexus-устройств кнопку «закрыть все приложения» наверх.

Android всё чаще становится для пользователя своеобразным центром управления личным временем. Рабочие встречи, планы на вечер, быстрый поиск и составление заметок — всё это часто требует работы с двумя приложениями одновременно. На планшетах и смартпэдах вы можете запустить два приложения бок-о-бок (API для Multi-window mode мы тоже обновили), но это не всегда удобно, да и попросту недоступно устройствам с маленькой диагональю дисплея (не всем же нравятся «лопаты»).



Переключение между семью последними приложениями — популярный юз-кейс, но ещё поплуярнее, как вы уже наверное догадались, переключение между двумя приложениями. Поэтому мы решили добавить приятную мелочь, которая пришла с «десктопных» систем — своеобразный упрощённый Alt+Tab: двойной тап по кнопке мультизадачности циклически переключает два последних открытых приложения.

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



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



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


Ну и чтобы закрыть тему продуктивной работы с Android хотелось бы нашей новой киллер-фичей. Мы хотим, чтобы пользователям было легче работать с вашими приложениями, чтобы каждый разработчик нашёл своего пользователя. И мы прекрасно понимаем, что есть целый ряд приложений, которыми в 90% случаев не будут пользоваться каждый день: хорошо, если раз в месяц или несколько раз в году. Это не повод лишаться потенциальной аудитории пользователей. Что, если бы они могли получить доступ к сервисам в одно касание без предварительной установки? Представляем Android Instant Apps — принципиально новый подход к работе с приложениями.

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

Но и это ещё не все! Функция Android Instant Apps совместима со всеми устройствами Android Jellybean и более поздних версий (4.1+), на которых установлены сервисы Google Play. То есть переработаны не возможности самой OS как таковой, а способ доставки приложений. Android Instant Apps — это апгрейд вашего существующего Android-приложения, а не отдельная программа или модуль, который потребуется пользователю. Естественно, если вы хотите получить преимущества Instant Apps — потребуется несколько доработать ваше приложение, но изменения не так сложны, как кажутся на первый взгляд. Чтобы получить необходимую документацию, примите участие в программе раннего доступа. И пусть ваши пользователи найдут вас!

Что было известно об Android N до Google I/O 2016


Первые версии Android N в этом году стали доступны раньше, чем в прошлом. Мы предоставили ранние сборки для тестирования сообществу разработчиков и собрали большое количество полезных отзывов — за что очень признательны вам. Без вас и ваших отзывов многие проблемы мы бы решали дольше, чем хотелось бы. Вместе с ранними сборками мы представляли и некоторые минорные улучшения.

Например, новый дизайн панели уведомлений с переработанным интерфейсом быстрых настроек, призванная экономить место на экране и упростить управление телефоном; группировка однотипных уведомлений от одного и того же приложения; минорные улучшения UI для планшетов; изменение интерфейса настроек; новое оформление для встроенной клавиатуры; поддержка Unicode 9.0, а также системные API для поддержки дисплеев, чувствительных к силе нажатия.

Одним из самых важных улучшений в N, которые были доступны до Google I/O стала система «глубокого сна» Doze 2.0. Первая версия Doze дебютировала в Android 6 Marshmallow, она добавила в систему новые API для взаимодействия приложений с системой в моменты, когда она находилась в стадии «глубокого сна» и максимального энергосбережения. Пакетная проверка новой информации из сети, более редкие пробуждения процессора из энергосберегающего режима, минимизация фонового трафика и прочие улучшения работали, когда ваш смартфон длительное время оставлся без движения. Зачем тратить драгоценный заряд батареи, когда смартфоном никто не пользуется?

За год разработчики самых популярных приложений добавили поддержку Doze в свои детища, и настало время сделать второй шаг — сделать так, чтобы Doze работал каждый раз, как вы выключаете дисплей вашего устройства. Большая часть актуальных приложений теперь умеет работать с энергоэффективными системными API для получения обновлений из сети, так что вы не пропустите важное сообщение, а ваш смартфон будет работать ещё дольше от одной зарядки.

Бета-тестирование Android N


Третью предварительную версию Android N для разработчиков можно смело тестировать на основном телефоне или планшете. Чтобы присоединиться к бета-тестированию, перейдите на страницу android.com/beta и запустите Android N на одном из следующих устройств: Nexus 6, 9, 5X, 6P, Nexus Player или Pixel C и Android One (General Mobile 4G). Тестируйте бета-релиз на платформе N и собирайте отзывы пользователей.

VR и Android  


Система Android была создана для работы на разных устройствах — смартфонах, планшетах, умных часах, в машине или дома. При этом процесс перехода с одного устройства на другое практически незаметен. Что же дальше? Мы считаем, что скоро смартфон станет мощным инструментом для познания окружающего мира и потребления новых типов контента. Однако до недавнего времени идея о качественной мобильной виртуальной реальности казалась неосуществимой в экосистеме Android.

Когда мы работали над N, мы затронули многие элементы системы (помимо тех, что описаны выше): начиная от того, как операционная система считывает информацию с датчиков, и заканчивая тем, как она передает изображение на экран. Всё это было сделано для того, чтобы качество работы в режиме виртуальной реальности на Android было на очень высоком уровне. Считается, что минимально-комфортной задержкой для восприятия VR-контента является 25 мс (меньше — лучше), а частота обновления дисплея желательна от 90 Гц. Для достижения подобных результатов пришлось попотеть.

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

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

В-третьих, мы добавили поддержку VR в наши основные приложения (а главное — в магазин приложений), разработали программно-аппаратную платформу Daydream и планируем серьёзно заняться популяризацией VR-контента. Вы можете в числе первых войти на этот перспективный рынок — не стоит упускать такую возможность. Начните изучать VR-технологии уже сегодня с бета-версией Android N!

Android Wear 2.0: изменения в UI и независимые приложения


На Google I/O мы также представили Android Wear 2.0, самый значительный апдейт платформы с момента ее запуска два года назад. Мы стараемся не только изобретать что-то новое, но и целенаправленно улучшать продукты исходя из ваших предпочтений, опыта использования наших гаджетов и потребностей, которые ещё не закрыты. Поэтому мы внимательно изучили пожелания пользователей и разработчиков, и на их основе обновили ПО. Теперь взаимодействие с умными часами станет еще более комфортным. Изменения затронули оформление циферблатов, возможности обмена сообщениями и фитнес-мониторинга.

Мы внесли сразу несколько изменений в пользовательский интерфейс и обновляем референсные дизайны, чтобы использование ваших приложений стало еще более интуитивным, а их внешний вид — привлекательным. Если раньше ярлыки каких-либо фич или функций на часах могли быть предусмотрены создателем циферблата (а могли быть и НЕ предусмотрены), то теперь вы сможете сами выбирать, какие модули отображения информации скомбинировать с вашим любимым циферблатом.

Для разработчиков в версии 2.0 мы добавили возможность создавать независимые приложения, которые будут иметь прямой сетевой доступ в облако с помощью Bluetooth, Wi-Fi или сотового соединения. Так как в этом случае ваше приложение не будет зависеть от Data Layer APIs, оно останется полностью функциональным, даже если связанное с ним мобильное устройство находится вне зоны действия bluetooth или вообще выключено. Об этих и других новостях вы можете более подробно почитать здесь.



Android Studio 2.2: новый редактор разметки, разметка ограничений и многое другое


Android Studio — это интегрированная среда для разработки, которая позволит вам использовать платформу Android N наиболее эффективно и быстро получать доступ ко всем новым функциям. На конференции Google I/O мы представили обновление до версии 2.2, еще один значительный апдейт в среде разработки.

Его цель — облегчить и ускорить разработку приложений благодаря использованию новых умных функций. Одна из важнейших — улучшенный редактор разметки и новые разметки ограничений. Во-первых, вы можете больше не использовать XML для создания разметки, во-вторых, — новые инструменты помогают разрабатывать интерфейс сразу для множества отличных устройств на базе Android. Как только вы определяете оптимальную разметку, мы берем на себя всю работу по автоматическому вычислению всех ограничений. Таким образом во всех вариантах вашего пользовательского интерфейса на разных экранах изменение размера будет проходить автоматически.

  • Скорость: улучшенный редактор разметки и новые разметки ограничений, библиотекa для тестирования Android приложений Espresso и ускорение сборки пакетов;
  • Умный подход: анализатор APK, инспектор разметки, расширенные возможности анализа кода Android и IntelliJ 2016.1;
  • Поддержка платформы:
    • Расширенная поддержка нового компилятора JACK / Java 8;
    • Расширенная поддержка C++ c CMake и NDK-Build;
    • Поддержка и Firebase и улучшенная интеграция в проекты.





Все это – лишь небольшая часть обновлений для Android, анонсированных на конференции Google I/O. В течение трех дней состоялось более 50 сессий, и все они доступны в записи на YouTube. Нам очень интересно, как вы будете использовать все новые возможности!
Tags:
Hubs:
+26
Comments 40
Comments Comments 40

Articles

Information

Website
developers.google.com
Registered
Founded
Employees
over 10,000 employees
Location
США