Компания Google анонсировала мобильную платформу Android 5.0 “Lollipop” и представила серию новых устройств Nexus на её основе. Сообщается, что Android 5.0 является одним из самых существенных выпусков за всю историю развития платформы и включает более 5000 новых компонентов API для разработчиков. Первые устройства на базе Android 5.0 ожидаются в ноябре. Примерно в это же время ожидается публикация кода Android 5.0 в публичном репозитории AOSP. С сегодняшнего дня доступны для загрузки Android 5.0 SDK для разработки приложений, образы для запуска в эмуляторе (в том числе образ Android TV) и предварительные сборки прошивок с Android 5.0 для устройств Nexus 5 и Nexus 7.
Новый выпуск примечателен реализацией ряда существенных нововведений, среди которых новый подход к организации пользовательского интерфейса, задействование среды выполнения ART вместо виртуальной машины Dalvik, переработанная система уведомлений, включение наработок по увеличению энергоэффективности, поддержка OpenGL ES 3.1, возможность использования на 64-разрядных процессорах, применение end2end-шифрования хранимых в облачных сервисах пользовательских данных, обновляемый WebView на основе Chromium, адаптация для использования на умных телевизорах и носимых устройствах.
Одновременно с новым выпуском платформы анонсировано несколько новых устройств, которые изначально будут поставляться на её основе. Самым интересным является телеприставка Nexus Player, которая может использоваться как игровая консоль и медиацентр. Кроме традиционного пульта дистанционного управления и игрового манипулятора для управления реализована система голосовых команд. Nexus Player укомплектован 4-ядерным процессором Intel Atom (1.8GHz) с графическим движком PowerVR Series 6, поддерживает Wi-Fi 802.11ac 2×2 (MIMO), Bluetooth 4.1 и снабжён портами HDMI (1920×1080@60Hz) и Micro-USB 2.0.
Другими аппаратными новинками являются планшет Nexus 9 и смартфон Nexus 6. Nexus 6 оснащён 5.96-дюймвым экраном (2560×1440 QHD AMOLED), 4-ядерным CPU Krait 450 CPU 2.7GHz (Qualcomm Snapdragon 805 SOC), GPU Adreno 420, 802.11ac 2×2 (MIMO), Bluetooth 4.1, NFC, 32GB/64GB Flash, 13- и 2-мегапиксельными камерами, Micro USB 2.0, Nano SIM, аккумулятором 3220mAh. Вес устройства 184 гр. Планшет Nexus 9 поставляется с 8.9-дюймовым экраном (2048×1536, IPS LCD), 64-разрядным процессором NVIDIA Tegra K1 Dual Denver (2.3GHz), 192-ядерным GPU Kepler, 2ГБ ОЗУ, 16GB/32GB Flash, 802.11ac 2×2 (MIMO), Bluetooth 4.1, NFC, LTE/HSPA/GSM, 8- и 1.6-мегапиксельными камерами, аккумулятором 6700mAh.
Устройства Nexus 9 и Nexus Player доступны для предзаказа начиная с сегодняшнего дня, Nexus 6 можно будет заказать немного позднее. Начало поставки устройств потребителям запланировано на начало ноября. В течение нескольких недель также ожидается распространение обновления прошивки с 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-устройствам;
Поддержка работы в нескольких сетях. Приложения могут инициировать динамическое сканирования доступных сетей, удовлетворяющих определённым требованиям, и при нахождении осуществить автоматическое присоединение к ним;
Поддержка гостевого входа, позволяющего на время предоставить планшет другому человеку. Для постоянного использования устройством несколькими людьми предусмотрена более удобная система переключения между несколькими учётными записями с полным разделением связанных с каждым сеансом данных;
Новый компонент для отображения web-страниц WebView, основанный на кодовой базе браузера Chromium M37 с полноценной поддержкой WebRTC, WebAudio и WebGL. Для оперативного устранения уязвимостей и ошибок WebView будет обновляться через Google Play, что позволит решить проблемы с накоплением уязвимостей в браузере в случае нежелания производителей выпускать обновления прошивок.
Новый API для работы с камерой, предоставляющий дополнительные возможности по созданию снимков и их обработки. Например, на поддерживающих такую возможность устройствах можно организовать захват несжатых изображений в формате YUV в полном разрешении с частотой 30 кадров в секунду. API также предоставляет доступ к внутренним (raw) параметрам сенсоров и позволяет на уровне отдельных кадров управлять такими характеристиками, как время экспозиции, чувствительность ISO и выдержка. Обеспечена поддержка кодека H.265 (HEVC);
Новые возможности для разработчиков игр: Возможность использования OpenGL ES 3.1с поддержкой вычислительных шейдеров, мультисэмпловых текстур, текстур-масок (stencil) и ARB_texture_gather, что позволяет применять ранее недоступные на мобильных устройствах графические эффекты. Новый набор дополнений Android Extension Pack (AEP) к OpenGL ES, позволяющих обеспечить в Android уровень графики близкий к настольным системам. Игры могут использовать такие возможности, как тесселяция, геометрические шейдеры и ASTC-сжатие текстур. Поддержка AEP будет обеспечена для GPU NVIDIA, ARM, Qualcomm и Imagination Technologies;
Новые возможности для работы со звуком, дающие возможность создавать профессиональные программы обработки звука. Новая подсистема захвата звука, предоставляющая средства для ввода звука с низкой задержкой в неблокирующем режиме. Поддержка микширования многоканальных звуковых потоков, в том числе в форматах 5.1 и 7.1. Новый интерфейс для передачи звуковых потоков между приложениями. Средства для тонкого управления синтезом речи с возможностью использования голосовых профилей, управлением качеством и задержками. поддержка широкого класса обычных звуковых устройств с интерфейсом USB. Поддержка звукового кодека Opus;
Серия расширенных SDK:
Android Wear SDK – комплект для разработчиков приложений для носимых устройств, таких как умные часы. Предоставляет средства для обмена и репликации данных между карманными и носимыми устройствами, применения системы управления голосом, синхронизации уведомлений;
Android TV SDK – средства для разработки приложений для Android TV, позволяющем обеспечить вывод на большой экран телевизора и использовать пульт дистанционного управления, предоставляющий инструменты по работе с каталогами контента;
Android Auto SDK – набор для разработчиков приложений для автомобильных информационно-развлекательных систем;