Самая большая функция Android Nougat для работы с пользователями должна быть новой встроенной поддержкой нескольких окон. Концепция не нова. Samsung делает это некоторое время, Microsoft меняет способ, которым они делают это для небольших устройств, и даже Apple делает это на планшетах. Теперь очередь за Google.
Это не совсем новая концепция для Google. Базовая платформа Android всегда позволяла рисовать то, что вы видите на экране, практически в любом размере, и идея о том, чтобы одновременно отображалось более одного представления, была реализована более чем в одной сессии на Google I / O 2011 как часть. «следующего шага» для Android планшетов на сотовом. Пять лет спустя он наконец готов.
Хорошая часть причины, по которой это заняло больше времени, заключалась в том, что запечь его на Android на системном уровне может быть сложно. Android предназначен для работы практически с любым процессором. Он питает микроволновые печи, стиральные машины, холодильники, спринклерные системы и многое другое. Он может даже решить кубик Рубика с легкостью. Вещи, которые работают на Android и имеют дисплей, например, ваш телефон, также бывают разных размеров. После того, как вы измените операционную систему, чтобы каждое приложение могло работать в многооконной среде, оно должно работать везде.
И это то, что сделал Google. Android 7.0 изначально поддерживает три типа многооконного просмотра. Это означает, что любое загружаемое приложение может использовать его, если разработчик приложения не напишет его, чтобы оно сообщило системе «нет», когда вы пытаетесь переместить его в многооконный режим. И это не просто система разделенного экрана - другие виды делают ее еще более сложной.
Android Nougat имеет три разных типа многооконного режима.
Режим разделенного экрана почти такой же, как на телефонах Samsung. Вы можете либо долго нажимать на миниатюру в режиме обзора, либо долго нажимать кнопку обзора, и вы сможете иметь два отдельных окна с отдельными приложениями, работающими в каждом. Вы можете перетаскивать данные между ними, и разделительная линия является подвижной, поэтому вы можете сделать одно приложение больше другого. Разработчики могут оптимизировать свои приложения, выполняя такие вещи, как объявление минимального размера окна, в котором оно находится, но даже если они ничего не делают, их приложение будет пытаться работать в многооконном режиме с разделенным экраном. Google говорит, что режим разделенного экрана был разработан для портативных устройств, то есть планшетов и большинства телефонов.
Многооконный режим также может отображаться в режиме « картинка в картинке». Мы уже говорили о том, как это работает и как это сделает Android TV лучше. Когда приложение входит в окно изображения, такие вещи, как элементы управления и элементы интерфейса, должны быть скрыты, а часть контента уменьшается до размера, основанного на шаге точек используемого дисплея. Кроме того, приложения могут прорасти во втором виде и иметь окно изображения одной части приложения, в то время как другая часть приложения находится в полноэкранном режиме. Новый API поддерживает новый вид окна, и разработчик может использовать его в своем приложении без особых хлопот. Это разработано для Android TV, и люди, которые собрали реальное оборудование, должны включить его. Приложение, разработанное для режима «картинка в картинке», ничего не сделает, если пользователь попытается перевести его в любой другой режим, если только разработчик не включил их поддержку.
Мультиокно имеет третий вид - режим произвольной формы. Пока это только официально существует в документации. Он был взломан на первый предварительный просмотр Android N, но так как мы не видели его. На сайте Android Developer написано:
Производители более крупных устройств могут выбрать режим произвольной формы, в котором пользователь может свободно изменять размер каждого действия. Если производитель включает эту функцию, устройство предлагает режим произвольной формы в дополнение к режиму разделения экрана.
Обратите внимание, что они не указывают, какое устройство больше. До сих пор кажется, что это не относится к планшетам, таким как Pixel C, но его можно включить на больших устройствах с 12-дюймовыми экранами или в устройствах Chromebook с приложениями для Android. Изготовитель должен решить, хотят ли они включить поддержку.
Короткое время, которое нам приходилось играть в режиме произвольной формы во время Nougat Developer Preview, показало, что оно помещает приложения в плавающие окна, которые можно изменять, перемещать, минимизировать или максимизировать. Это так же, как работает программное обеспечение на вашем ноутбуке или настольном компьютере. Приложения будут поддерживать совместное использование данных методом перетаскивания, и каждое приложение знает, когда оно было перемещено на верхний уровень, и мы активно его используем. Приложения могут даже открываться в «сжатом» виде, если разработчик решит это сделать. Все приложения работают в своем собственном процессе и, тем не менее, не зависят друг от друга.
Если разработчик нацеливает свое приложение на Android 7.0, у него есть несколько вариантов многооконного просмотра. Они могут определять размер и макет приложения, когда оно не использует полноэкранный режим, и облегчают его использование после его сжатия. Поскольку это реальная проблема - некоторые приложения просто не очень хорошо выглядят или не очень удобны в использовании, если используют только половину уже небольшого дисплея, - разработчики также могут отказаться от поддержки этой функции.
Если приложения не обновляются, они вынуждены работать в многооконном режиме самой системой - иногда с плохими результатами.
Если разработчик не обновит свое приложение, оно будет «принудительно изменено» системой после диалога, сообщающего нам, что это старое приложение, которое не поддерживает эту функцию, поэтому что-то может сломаться. Если приложение было написано для поддержки только фиксированного размера, многооконный режим закрывается, и это приложение занимает весь экран.
Из хакерской функции Samsung Multi-Window мы уже знали, что большинство приложений просто сжимаются в одну или другую сторону без особой суеты, если они официально не поддерживаются, и наше время с Nougat Developer Preview показывает те же результаты. Хотя код, используемый для выполнения задач, несколько отличается от нативной функции Android, основная концепция остается, и приложения, которые используют лучшие методы в коде, выглядят и работают одинаково, только меньше. Но не все приложения играют хорошо, и мы надеемся, что разработчики скоро обновят их, чтобы они корректно обрабатывали вещи, даже если они ничего не меняют.
Наконец, если вы не хотите использовать мультиокно на вашем телефоне, вам не нужно. Все приложения для Android будут работать в полноэкранном режиме, пока вы не скажете им изменить их вид.