Как только краска высыхает на Android M — для Marshmallow — доступна предварительная версия Android N для разработчиков, и есть несколько радикальных изменений.
Мы можем притвориться, что в N есть много важных улучшений, но одно, которое меняет правила игры, — это поддержка многооконности. Теперь пользователи могут запускать несколько приложений в параллельных окнах. Это было бы не сложно с самого начала включить в Android, но аргументом было то, что телефоны были слабыми, а слабые вычислительные устройства не совсем подходили для такого рода многозадачности. Это по-прежнему тот случай, когда приложения запускаются в странной многозадачной среде, что может привести к удалению приложения из памяти, при этом ответственность за восстановление ложится на приложения. Современная операционная система не должна так относиться к своим приложениям.
Как работает функция многооконного режима, зависит от устройства:
Карманные устройства под управлением Android N поддерживают режим разделенного экрана. В этом режиме система заполняет экран двумя приложениями, показывая их рядом или одно над другим. Пользователь может перетащить разделительную линию, разделяющую два приложения, чтобы сделать одно приложение больше, а другое — меньше.
В Nexus Player под управлением Android N приложения могут переключаться в режим «картинка в картинке», что позволяет им продолжать показывать контент, пока пользователь просматривает другие приложения или взаимодействует с ними.
Производители больших устройств могут включить режим произвольной формы, в котором пользователь может свободно изменять размер каждого действия. Если производитель включает эту функцию, устройство предлагает режим произвольной формы в дополнение к режиму разделения экрана.
Таким образом, в основном телефоны будут использовать разделенный экран, а планшеты — режим произвольной формы.
Что важно в мультиокнах?
Ключевое использование многооконности заключается в том, что пользователь может организовать приложения так, чтобы они работали вместе. Обычно данные из одного окна можно перенести в другое с помощью копирования и вставки или перетаскивания.
К сожалению, это не меняет жизненный цикл деятельности. Выполняется только приложение, с которым взаимодействует пользователь; остальные приостановлены. Это вызовет некоторые интересные проблемы. Если ваше приложение собирается использовать преимущества новой функции, вам придется изменить ее, чтобы она продолжала что-то делать. Точно так же вы должны учитывать возможность того, что пользователь изменит размер вашего окна. Когда это происходит, система выполняет перерисовку с новыми размерами, которые требуется вашему макету. Есть новые атрибуты, учитывающие это, и множество новых методов API, позволяющих управлять многооконным режимом и взаимодействовать с ним.
Остальные обновления для сравнения почти незначительны.
Улучшения уведомлений:
Обновления шаблонов: мы обновляем шаблоны уведомлений, чтобы по-новому взглянуть на изображение и аватар героя.
Объединенные уведомления: система может группировать сообщения вместе, например, по теме сообщения, и отображать группу.
Прямой ответ: в приложениях для общения в реальном времени пользователи могут отвечать на SMS или текстовые сообщения прямо в интерфейсе уведомлений.
Пользовательские представления: два новых API для оформления системы, например заголовков уведомлений и действий, при использовании настраиваемых представлений в уведомлениях.
API плитки быстрых настроек
Проще говоря, теперь вы можете добавлять свои собственные плитки в быстрые настройки. Это похоже на средство, которым можно очень злоупотребить — подумайте о запуске приложения из быстрых настроек. В документации говорится:
Плитки быстрых настроек зарезервированы для элементов управления или действий, которые либо срочно необходимы, либо часто используются, и не должны использоваться в качестве ярлыков для запуска приложения.
Экономия трафика
Когда пользователь включает экономию данных в настройках, а устройство подключено к сети с лимитом, система блокирует использование данных в фоновом режиме и сигнализирует приложениям, чтобы они использовали меньше данных на переднем плане, где это возможно, например, ограничивая скорость передачи данных для потоковой передачи, снижая качество изображения, откладывая оптимистическая проповедь и так далее. Пользователи могут заносить в белый список определенные приложения, чтобы разрешить использование данных в фоновом режиме, даже если включена экономия трафика.
Улучшения телефона
Легко забыть, что Android часто работает на устройстве, которое должно быть телефоном. Чтобы сделать этот аспект повсеместного вычислительного устройства, у нас теперь есть средство блокировки номеров и проверки вызовов. Есть API для работы с обоими.
Есть много других важных, но более нишевых дополнений, таких как прямая загрузка, позволяющая приложениям продолжать работу после перезагрузки; улучшенный доступ к каталогам внешнего хранилища; лучший Unicode и глобализация; и улучшенный Android for Work. Также важен ряд фоновых оптимизаций, чтобы ваше приложение работало быстрее.
Конечно, еще одним большим изменением является переход на OpenJDK и возможность использовать Java 8. Это палка о двух концах, потому что, например, вы можете использовать лямбды, но ваш существующий код теперь устарел.
График таков, что вы можете начать работать с Android N прямо сейчас. Окончательная версия должна выйти где-то в третьем квартале.
Так что остается только загадкой, как это будет называться?
Все здесь поставили бы деньги на Nutella, но это, наверное, слишком очевидно.
Android N будет представлен на Google I / O 2016, регистрация на который уже открыта.