Android 5.0 Lollipop — крупнейшее обновление Android на сегодняшний день, включающее новый визуальный стиль, повышение производительности, и многое другое. Новый концепт Android 5.0 Lollipop будет применяться для смартфонов и планшетов, а также будет основной особенностью Android Wear.
Навигационные кнопки на экране были упрощены до базовых треугольника, круга и квадрата. Минимализм во все поля ~^__^~
Для начала разработки и тестирования на Android 5.0 Lollipop лучше глянуть поподробнее инфу по обновлению, почитать доки, посмотреть новые видео.
User experience
Material design — новая концепция для мультискринного мира, целью которой является создания подхода проектирования приложений в современном мире мульти-девайсов, со всеобъемлющей стратегией визуализации, движения и интерактивного дизайна в целом ряде платформ и форм-факторов.
Android 5.0 приносит material design на платформу с полным набором инструментов для реализации material design. Система невероятно гибка, позволяющая вашему приложению выразить свой индивидуальный стиль и бренд со смелые цвета и различными UI-паттернам и кастомизацией элементов.
Кстати, в недельный топ Github вырвался набор иконок Material Design. Набор содержит аж 750 глифов. Это пиктограммы, часто используемые в различных мобильных приложениях для воспроизведения медиа, коммуникаций, редактирования контента, установки соединения и т.д. Выложен zip-архив с последней версией.
Продуманные уведомления — новый подход к реализации пушей в системе. Теперь уведомления могут всплывать поверх окон, даже когда вы играете. Пуши отображают содержимое и действия в небольшом всплывающем окне, управляемом системой, независимо от того, какие приложения находятся на переднем плане. Уведомления обновлены в соответствии с новым диз. доками так, что вы можете использовать дополнительные цвета, чтобы выразить своё приложение.
Появились метаданные по мушам: теперь можно задать категорию или, например, как-то сгруппировать пуши в зависимости от того, о кого они пришли, выставить приоритет и т.п.
Concurrent documents in Overview. Теперь вы можете организовать приложения позадачно и представить их одновременно в виде отдельных «документов» на основном экране. Например, месенджер может отображать каждый чат в виде отдельного «документа». Пользователи могут переключаться между ними прям на этом экране, чтобы найти конкретный чат, а затем перейти прямо к нему.
Производительность
Android Runtime (ART). Android 5.0 работает исключительно с ART в рантайме, который предлагает ahead-of-time(АОТ) компиляцию, более эффективную сборку мусора, а также улучшенные средства разработки и отладки. Во многих случаях это улучшает производительность устройства, без необходимости изменения кода.
64-bit support. Поддержка 64-битных инструкций предоставляет дополнительное пространство адресов и улучшенную производительность. Программы написанные на Java могут работать сразу на 64-битных архитектурах. NDK R10C включает 64-битную поддержку, для приложений и игр написанных на C++.
Project Volta — новые инструменты и API, которые помогут вам создать эффективное приложение в плане использования батареи. Battery Historian, инструмент включённый в SDK, позволяет визуализировать работу с батареей и понять, как можно улучшить ситуацию. JobScheduler API позволяет установить условия, при которых ваши фоновые задачи и другие виды работ могут выполняться, например, когда устройство находится в режиме ожидания или подключен к сети, или зарядному устройству, чтобы свести к минимуму использование батареи. Подробнее на видео с I/O.
OpenGL ES 3.1 and Android Extension Pack. С OpenGL ES 3.1 вы получаете вычислительные шейдеры, сборщик текстур для ваших игр. Android Extension Pack (AEP) является новый набором расширений OpenGL ES, которые приносят графику настольных игр на Android, включая тесселяцию и геометрические шейдеры, и используют ASTC сжатие текстур на GPU. Подробнее в видео DevBytes.
WebView updates. Обновлён WebView для поддержки WebRTC, WebAudio и WebGL. WebView также включает в себя встроенную поддержку всех спецификаций Web Components: Custom Elements, Shadow DOM, HTML Imports, and Templates. WebView теперь отделены от системы и будет регулярно обновляться через Google Play.
Workplace
Унифицированное управление приложениями. API для профиля позволяет администраторам создавать и управлять профилями работы. Я так понимаю, это что-то типо политик безопасности в Active Directory под Windows. Если так, то для корпоративного сектора или в образовательной среде это довольно неплохая штука.
Появился владелец девайса, так сказать, главный администратор устройства, который может создавать дополнительных юзеров. Для развертывания и активации владельца устройства необходимо выполнить передачу NFC данных на устройство, когда устройство находится в неидентифицированном состоянии. При этом посылается информация описаная в разделе Managed provisioning. Подробнее в этом видео с I/O.
Media
Расширенные возможности камеры. Новое API дает новые возможности для захвата изображений. На поддерживаемых устройства ваше приложение может захватить несжатое YUV изображение в полном разрешении 8 Мп на 30 FPS. Вы также можете получать данные с датчиков и параметров контроля, таких как время экспозиции, ISO чувствительности, длительности кадра, на основе каждого кадра.
Аудио улучшения. Архитектура работы со звукам была улучшена, с меньшими задержками ввода в OpenSL, добавлено многоканального смешивания, появилась поддержка режима USB digital audio. Подробнее в этом видео с I/O.
Connectivity
BLE Peripheral Mode. Устройства с Android теперь могут функционировать в Bluetooth Low Energy (BLE) режиме. Приложения могут использовать эту возможность, чтобы транслировать свое присутствие соседним устройства — например, теперь вы можете создавать приложения, посылающие маячки другим BLE устройствам. Подробнее в видео с I/O.
Multi-networking. Приложения теперь могут динамически запрашивать сети доступные. Это полезно, когда вы хотите использовать определенную сеть, к примеру, мобильную, SUPL, MMS. Приложения могут также запросить платформу пересмотреть сети. Это полезно, когда ваше приложение видит необычно высокую латентность в конкретной сети, то может запросить платформу подключиться к этой сети (если она доступна). Для этого юзаем
.ConnectivityManager
P.S. много всего нового. Как только появится на руках флагман с 5.0 (новый Nexus наверно), то сам пощупаю всё это дело =3