Компания Google анонсировала мобильную платформу Android 5.0 "Lollipop" и представила серию новых устройств Nexus на её основе. Сообщается, что Android 5.0 является одним из самых существенных выпусков за всю историю развития платформы и включает более 5000 новых компонентов API для разработчиков. Первые устройства на базе Android 5.0 ожидаются в ноябре. Примерно в это же время ожидается публикация кода Android 5.0 в публичном репозитории AOSP. В настоящее время уже доступны для тестирования предварительные сборки прошивок с Android 5.0 для устройств Nexus 5 и Nexus 7, а также тестовый образ для запуска в эмуляторе.
Новый выпуск примечателен реализацией ряда существенных нововведений, среди которых новый подход к организации пользовательского интерфейса, задействование среды выполнения ART вместо виртуальной машины Dalvik, переработанная система уведомлений, включение наработок по увеличению энергоэффективности, поддержка OpenGL ES 3.1, возможность использования на 64-разрядных процессорах, применение end2end-шифрования хранимых в облачных сервисах пользовательских данных, адаптация для использования на умных телевизорах и носимых устройствах.
Одновременно с новым выпуском платформы анонсировано несколько новых устройств, которые изначально будут поставляться на её основе. Самым интересным является телеприставка Nexus Player, которая может использоваться как игровая консоль и медиацентр. Для управления кроме традиционного пульта дистанционного управления и игрового манипулятора предлагается использовать голосовые команды. Nexus Player укомплектован 4-ядерным процессором Intel Atom (1.8GHz) с графическим движком PowerVR Series 6, поддерживает Wi-Fi 802.11ac 2x2 (MIMO), Bluetooth 4.1 и снабжён портами HDMI (1920x1080@60Hz) и Micro-USB 2.0.
Другими аппаратными новинками являются планшет Nexus 9 и смартфон Nexus 6. Nexus 6 оснащён 5.96-дюймвым экраном (2560x1440 QHD AMOLED), 4-ядерным CPU Krait 450 CPU 2.7GHz (Qualcomm Snapdragon 805 SOC), GPU Adreno 420, 802.11ac 2x2 (MIMO), Bluetooth 4.1, NFC, 32GB/64GB Flash, 13- и 2-мегапиксельными камерами, Micro USB 2.0, Nano SIM, аккумулятором 3220mAh. Вес устройства 184 гр. Планшет Nexus 9 поставляется с 8.9-дюймовым экраном (2048x1536, IPS LCD), 64-разрядным процессором NVIDIA Tegra K1 Dual Denver (2.3GHz), 192-ядерным GPU Kepler, 2ГБ ОЗУ, 16GB/32GB Flash, 802.11ac 2x2 (MIMO), Bluetooth 4.1, NFC, LTE/HSPA/GSM, 8- и 1.6-мегапиксельными камерами, аккумулятором 6700mAh. Устройства Nexus 9 и Nexus Player доступны для предзаказа начиная с сегодняшнего дня, Nexus 6 можно будет заказать немного позднее. Начало поставки Nexus 9 потребителям запланировано на 3 ноября, модели Nexus 6 и Nexus Player начнут отгружаться с небольшим опозданием. В течение нескольких недель также ожидается распространение обновления прошивки с Android 5.0 для ранее выпускаемых моделей Nexus 4, 5, 7 и 10.
Ключевые особенности Android 5.0:
- Переход на новую среду выполнения ART, которая заменит собой runtime виртуальной машины Dalvik. ART позволяет в момент установки скомпилировать приложение в машинный код и в дальнейшем выполнять программу в нативном виде, без задействования виртуальной машины. Применение упреждающей AOT-компиляции (Ahead-of-time) вместо JIT-компиляции по мере выполнения кода позволяет заметно повысить производительность программ. Для компиляции в поставку включена утилита dex2oat, формирующая исполняемые файлы на основе файлов в формате DEX (Dalvik Executable Format).
Повышению производительности также способствует использование в ART более изощрённого сборщика мусора, отличающегося активным распараллеливанием операций и минимизацией действий, приводящих к приостановке выполнения. Кроме того, при использовании ART применяются более жесткие методы проверки приложения в момент установки, а разработчикам предлагаются расширенные инструменты для отладки и профилирования;
- Поддержка работы на 64-разрядных платформах: возможность использования 64-разрядных ABI для доступа к дополнительному адресному пространству и увеличения производительности при выполнении некоторых типов вычислительных задач. Все приложения, написанные на Java, могут быть запущены в 64-разрядном окружении без внесения в них изменений. Приложения, в которых используется нативный код, требуют использования нового выпуска NDK;
- Поддержка Material design, новой концепции дизайна интерфейса пользователя, предоставляющей средства для поддержания единого интерактивного интерфейса для разных платформ и типов устройств. Для использования нового стиля в Android представлена готовая тема оформления Material. Для использования Material design в web-приложениях предлагается использовать фреймворк Polymer, предоставляющий готовый набор web-компонентов и систему визуального проектирования оформления приложения;
- Улучшенная система вывода уведомлений. Поддержка вывода уведомлений в хранителей экрана с возможностью управления уведомлениями и совершения ответных действий без разблокировки экрана. Вывод уведомлений осуществляется в небольшом всплывающем окне, отображаемом системой независимо от текущего активного приложения. Предоставляется возможность управления тем, где отображаются уведомления, как они выглядят и как они синхронизируются с внешними устройствами;
- Документо-ориентированная система отслеживания недавно выполненных действий, позволяющая сгруппировать приложения по решаемым задачам и представить их на экране Recents в форме отдельных документов. Подобная организация позволяет пользователю быстро сориентироваться при поиске нужной задачи и после дополнительного клика получить более детальную информацию;
- Интеграция наработок проекта Volta, в рамках которого подготовлен набор инструментов и API, позволяющих повысить эффективность потребления энергии во время работы приложений. При помощи утилиты Battery Historian можно наглядно контролировать наступления событий, влияющих на энергопотребелние, и детально отслеживать как работа приложения сказывается на расходе энергии. API для управления планировщиком задач даёт возможность определить при каких условиях могут выполняться фоновые задачи и запускаться другие действия, например, когда устройство находится в режиме ожидания или подключено к внешнему источнику энергии;
- Поддержка работы Android-устройств в режиме BLE (Bluetooth Low Energy), используя который приложения могут сообщать о своём присутствии близлежащим устройствам. Например, можно создать приложение, превращающее устройство в шагомер и передающее данные другим BLE-устройствам;
- Поддержка работы в нескольких сетях. Приложения могут инициировать динамическое сканирования доступных сетей, удовлетворяющих определённым требованиям, и при нахождении осуществить автоматическое присоединение к ним;
- Новый API для работы с камерой, предоставляющий дополнительные возможности по созданию снимков и их обработки. Например, на поддерживающих такую возможность устройствах можно организовать захват несжатых изображений в формате YUV в полном разрешении с частотой 30 кадров в секунду. API также предоставляет доступ к внутренним (raw) параметрам сенсоров и позволяет на уровне отдельных кадров управлять такими характеристиками, как время экспозиции, чувствительность ISO и выдержка.
- Новые возможности для разработчиков игр: Возможность использования OpenGL ES 3.1 с поддержкой вычислительных шейдеров, мультисэмпловых текстур, текстур-масок (stencil) и ARB_texture_gather, что позволяет применять ранее недоступные на мобильных устройствах графические эффекты. Новый набор дополнений Android Extension Pack (AEP) к OpenGL ES, позволяющих обеспечить в Android уровень графики близкий к настольным системам. Игры могут использовать такие возможности, как тесселяция, геометрические шейдеры и ASTC-сжатие текстур. Поддержка AEP будет обеспечена для GPU NVIDIA, ARM, Qualcomm и Imagination Technologies;
- Серия расширенных SDK:
- Android Wear SDK - комплект для разработчиков приложений для носимых устройств, таких как умные часы. Предоставляет средства для обмена и репликации данных между карманными и носимыми устройствами, применения системы управления голосом, синхронизации уведомлений;
- Android TV Preview SDK - средства для разработки приложений для Android TV, позволяющем обеспечить вывод на большой экран телевизора и использовать пульт дистанционного управления, предоставляющий инструменты по работе с каталогами контента;
- Android Auto SDK - набор для разработчиков приложений для автомобильных информационно-развлекательных систем;