company_banner

Google I/O 2016: Подробности об Android N и Android-экосистеме

    Привет, Хабр! За последний год пользователи Android по всему миру более 65 млрд. раз установили приложения из Google Play, созданные такими же разработчиками, как вы. Сегодня Android — самая популярная платформа и операционная система в мире, и само собой, мы каждый день работаем над ней. Как мы и обещали в нашем глобальном обзоре Google I/O 2016, сегодня пост про грядущие изменения в N: новые фичи и переработанные старые, изменения в UI, VR-платформа и Android для носимой электроники ждут вас под катом.




    Android N: N — значит Новый


    Платформа Android развивается невероятными темпами. Не так давно мы представляли новый UI и концепцию Material Design, новый компилятор ART, который занял место виртуальной машины Dalvik, ввели улучшеный режим сна и энергосбережения, показывали новые API для камеры, платёжной системы, биометрических датчиков… И казалось, что для N не осталось ничего такого, что могло бы действительно стать достойным заголовком для новостей. Однако, прошедший I/O показал, что Android есть куда расти, а количество изменений сравнимо с переходом Android 2.3 => 4.0 или 4.4 => 5.0, и сейчас даже сложно выбрать, о чём рассказать в первую очередь.

    Направления развития Android


    Для Android N мы выбрали три основных направления, в которых провели значимые улучшения нашей мобильной ОС: производительность, безопасность, продуктивность (эффективность). При этом мы старались изменять работу системы, отталкиваясь от потребностей самих пользователей и информации о том, как именно они используют телефон, что для них важно, какие повседневные проблемы решают с помощью Android и мобильных приложений.

    Производительность


    Мы долго совершенствовали подсистему OpenGL, но в Android N мы делаем качественный шаг вперёд, внедряя поддержку API Vulkan.

    Главная особенность Vulkan’а заключается в том, что он позволяет контролировать GPU напрямую, уменьшая накладные расходы графической подсистемы и запускать код на шейдерных процессорах наиболее эффективным образом.



    Ещё одним приятным бонусом является унификация API с десктопными технологиями, что позволит разработчикам использовать один и тот же код и ресурсы на смартфонах, компьютерах (и, потенциально, приставках следующего поколения). Кроме того, Vulkan имеет меньший CPU overhead (то есть на отрисовку каждого кадра не требуется столько ресурсов центрального процессора, сколько требует OpenGL). Создатели игр и трёхмерных приложений смогут увеличить качество отображаемой картинки или поднять частоту кадров на уже имеющемся железе.

    Второй важный шаг в повышении производительности Android N –  работа над средой выполнения программ и новый JIT компилятор. Обновление Android Runtime привнесло увеличение производительности от 40 до 600% в различных бенчмарках, а новый компилятор ускорил установку приложений в среднем на 75%.



    При этом особенности JIT-компилятора и того, как он превращает .apk в установленное приложение позволило добиться сокращения потребления внутренней памяти установленными приложениями до 50%.



    Итого мы имеем: новый API графической подсистемы, который приносит консольные технологии на смартфон; обновлённый Runtime, который ускоряет работу приложений; новый компилятор, экономящий место на накопителе и увеличивающий скорость установки приложения. Неплохо?

    Безопасность


    В Android уже были внедрены такие элементы, как SELinux, проверки Boot Integrity, возможность полного шифрования носителя информации, но безопасности никогда не бывает много.



    Файловое шифрование в отличие от блочного шифрования позволяет лучше изолировать отдельные процессы и пользователей в системе

    Улучшение в безопасности Media Framework — отдельные элементы мультимедиа-фреймворка были вынесены в раздельные процессы SELinux, так как Media Framework один из самых широкоиспользуемых элементов и может работать с данными, безопасность которых находится под вопросом.  

    А теперь — самое главное. Android N получит «фичу» из Chrome OS: фоновые обновления системы. Устройства на базе N будут иметь два системных образа: пока в одном вы работаете, второй может быть обновлён в фоне. При следующей загрузке телефона он прото выберет образ с более свежей версией системы. Благодаря шифрованию на уровне файлов, новому режиму работы Direct Boot и двум образам систем вам не придётся ждать, пока система обновится. А новый JIT-компилятор избавит вас от многоминутного созерцания вот этой картины:



    Продуктивность


    Сами по себе улучшения ОС в области «грубой силы» и защищённости — хороши, но ещё лучше, когда это дополняется продуманным и удобным интерфейсом, качественным встроенным ПО и тем, что многие пользователи описали бы как «интуитивность». Разумеется, за всеми этими понятиями стоят сотни и тысячи человеко-часов работы.

    Начать стоит с многозадачности. Многозадачность с самого начала выгодно отличала Android от конкурентов на рынке — переключаться между приложениями в реальном режиме, не теряя данных и не тратя время на повторение уже выполненных действий максимально приближали Android к «настольным» операционным системам. В системе многозадачности есть большое пространство для улучшений и мы совершенствовали её от версии к версии, и настало время заняться удобством переключения между приложениями.

    Мы провели детальное исследование и выяснили, что подавляющее большинство пользователей переключается только между 7 последними приложениями. В Android N система будет скрывать из списка недавних приложения, которые вы давно не открывали, так что найти нужное не составит труда. А ещё по многочисленным просьбам мы добавили для nexus-устройств кнопку «закрыть все приложения» наверх.

    Android всё чаще становится для пользователя своеобразным центром управления личным временем. Рабочие встречи, планы на вечер, быстрый поиск и составление заметок — всё это часто требует работы с двумя приложениями одновременно. На планшетах и смартпэдах вы можете запустить два приложения бок-о-бок (API для Multi-window mode мы тоже обновили), но это не всегда удобно, да и попросту недоступно устройствам с маленькой диагональю дисплея (не всем же нравятся «лопаты»).



    Переключение между семью последними приложениями — популярный юз-кейс, но ещё поплуярнее, как вы уже наверное догадались, переключение между двумя приложениями. Поэтому мы решили добавить приятную мелочь, которая пришла с «десктопных» систем — своеобразный упрощённый Alt+Tab: двойной тап по кнопке мультизадачности циклически переключает два последних открытых приложения.

    Android N на телевизорах получит ряд улучшений в области UI, но одной из главных фич станет режим картинка-в-картинке, которая позволяет работать с интерфейсом различных приложений одновременно с просмотром любимых передач.



    Одной из областей, которая регулярно подвергается доработке и совершенствованию является панель быстрых настроек и уведомлений. В Android N мы добавили функцию прямого ответа, которая позволит вам ответить на сообщения прямо из панели уведомлений, не отрываясь от текущего экрана.



    Кроме того, мы упросити управление уведомлениями для каждого из приложений, так что теперь вы решаете, какие уведомления важны, какие можно показывать беззвучно, а какие и вовсе скрыть.


    Ну и чтобы закрыть тему продуктивной работы с Android хотелось бы нашей новой киллер-фичей. Мы хотим, чтобы пользователям было легче работать с вашими приложениями, чтобы каждый разработчик нашёл своего пользователя. И мы прекрасно понимаем, что есть целый ряд приложений, которыми в 90% случаев не будут пользоваться каждый день: хорошо, если раз в месяц или несколько раз в году. Это не повод лишаться потенциальной аудитории пользователей. Что, если бы они могли получить доступ к сервисам в одно касание без предварительной установки? Представляем Android Instant Apps — принципиально новый подход к работе с приложениями.

    Люди узнают о ваших сервисах разными способами: находят их в Поиске, в социальных сетях, мессенджерах или получают ссылки для перехода в приложение. Теперь в любом из этих случаев они без труда смогут войти в приложение – при этом им не придется его заранее устанавливать или заново проходить аутентификацию. Необходимые для запуска части приложения будут скачаны и запущены автоматически.

    Но и это ещё не все! Функция Android Instant Apps совместима со всеми устройствами Android Jellybean и более поздних версий (4.1+), на которых установлены сервисы Google Play. То есть переработаны не возможности самой OS как таковой, а способ доставки приложений. Android Instant Apps — это апгрейд вашего существующего Android-приложения, а не отдельная программа или модуль, который потребуется пользователю. Естественно, если вы хотите получить преимущества Instant Apps — потребуется несколько доработать ваше приложение, но изменения не так сложны, как кажутся на первый взгляд. Чтобы получить необходимую документацию, примите участие в программе раннего доступа. И пусть ваши пользователи найдут вас!

    Что было известно об Android N до Google I/O 2016


    Первые версии Android N в этом году стали доступны раньше, чем в прошлом. Мы предоставили ранние сборки для тестирования сообществу разработчиков и собрали большое количество полезных отзывов — за что очень признательны вам. Без вас и ваших отзывов многие проблемы мы бы решали дольше, чем хотелось бы. Вместе с ранними сборками мы представляли и некоторые минорные улучшения.

    Например, новый дизайн панели уведомлений с переработанным интерфейсом быстрых настроек, призванная экономить место на экране и упростить управление телефоном; группировка однотипных уведомлений от одного и того же приложения; минорные улучшения UI для планшетов; изменение интерфейса настроек; новое оформление для встроенной клавиатуры; поддержка Unicode 9.0, а также системные API для поддержки дисплеев, чувствительных к силе нажатия.

    Одним из самых важных улучшений в N, которые были доступны до Google I/O стала система «глубокого сна» Doze 2.0. Первая версия Doze дебютировала в Android 6 Marshmallow, она добавила в систему новые API для взаимодействия приложений с системой в моменты, когда она находилась в стадии «глубокого сна» и максимального энергосбережения. Пакетная проверка новой информации из сети, более редкие пробуждения процессора из энергосберегающего режима, минимизация фонового трафика и прочие улучшения работали, когда ваш смартфон длительное время оставлся без движения. Зачем тратить драгоценный заряд батареи, когда смартфоном никто не пользуется?

    За год разработчики самых популярных приложений добавили поддержку Doze в свои детища, и настало время сделать второй шаг — сделать так, чтобы Doze работал каждый раз, как вы выключаете дисплей вашего устройства. Большая часть актуальных приложений теперь умеет работать с энергоэффективными системными API для получения обновлений из сети, так что вы не пропустите важное сообщение, а ваш смартфон будет работать ещё дольше от одной зарядки.

    Бета-тестирование Android N


    Третью предварительную версию Android N для разработчиков можно смело тестировать на основном телефоне или планшете. Чтобы присоединиться к бета-тестированию, перейдите на страницу android.com/beta и запустите Android N на одном из следующих устройств: Nexus 6, 9, 5X, 6P, Nexus Player или Pixel C и Android One (General Mobile 4G). Тестируйте бета-релиз на платформе N и собирайте отзывы пользователей.

    VR и Android  


    Система Android была создана для работы на разных устройствах — смартфонах, планшетах, умных часах, в машине или дома. При этом процесс перехода с одного устройства на другое практически незаметен. Что же дальше? Мы считаем, что скоро смартфон станет мощным инструментом для познания окружающего мира и потребления новых типов контента. Однако до недавнего времени идея о качественной мобильной виртуальной реальности казалась неосуществимой в экосистеме Android.

    Когда мы работали над N, мы затронули многие элементы системы (помимо тех, что описаны выше): начиная от того, как операционная система считывает информацию с датчиков, и заканчивая тем, как она передает изображение на экран. Всё это было сделано для того, чтобы качество работы в режиме виртуальной реальности на Android было на очень высоком уровне. Считается, что минимально-комфортной задержкой для восприятия VR-контента является 25 мс (меньше — лучше), а частота обновления дисплея желательна от 90 Гц. Для достижения подобных результатов пришлось попотеть.

    Во-первых, мы внесли ряд улучшений производительности, которые заметят разработчики VR-контента, в том числе — рендеринг единым массивом и режим эксклюзивный доступ к ресурсам CPU для VR-приложений. Теперь вы можете использовать в своих приложениях систему отслеживания точных и сглаженных движений головы, а также специальную систему оповещений, которая используются в системе виртуальной реальности.

    Во-вторых, мы поработали и над системой вывода графики на экран. Время отклика на Nexus 6P с третьей тестовой версией прошивки составляет менее 20 миллисекунд. Это невероятный результат для мобильной платформы, не разрабатывавшейся непосредственно для VR, и этого уже достаточно, чтобы у пользователя создавалось ощущение присутствия в виртуальной реальности. В сумме мы имеем улучшенные инструменты для разработчиков и подготовленную для VR-контента операционную систему, которая будет работать не только на новых моделях и специализированных железках, но и на имеющемся поколении девайсов.

    В-третьих, мы добавили поддержку VR в наши основные приложения (а главное — в магазин приложений), разработали программно-аппаратную платформу Daydream и планируем серьёзно заняться популяризацией VR-контента. Вы можете в числе первых войти на этот перспективный рынок — не стоит упускать такую возможность. Начните изучать VR-технологии уже сегодня с бета-версией Android N!

    Android Wear 2.0: изменения в UI и независимые приложения


    На Google I/O мы также представили Android Wear 2.0, самый значительный апдейт платформы с момента ее запуска два года назад. Мы стараемся не только изобретать что-то новое, но и целенаправленно улучшать продукты исходя из ваших предпочтений, опыта использования наших гаджетов и потребностей, которые ещё не закрыты. Поэтому мы внимательно изучили пожелания пользователей и разработчиков, и на их основе обновили ПО. Теперь взаимодействие с умными часами станет еще более комфортным. Изменения затронули оформление циферблатов, возможности обмена сообщениями и фитнес-мониторинга.

    Мы внесли сразу несколько изменений в пользовательский интерфейс и обновляем референсные дизайны, чтобы использование ваших приложений стало еще более интуитивным, а их внешний вид — привлекательным. Если раньше ярлыки каких-либо фич или функций на часах могли быть предусмотрены создателем циферблата (а могли быть и НЕ предусмотрены), то теперь вы сможете сами выбирать, какие модули отображения информации скомбинировать с вашим любимым циферблатом.

    Для разработчиков в версии 2.0 мы добавили возможность создавать независимые приложения, которые будут иметь прямой сетевой доступ в облако с помощью Bluetooth, Wi-Fi или сотового соединения. Так как в этом случае ваше приложение не будет зависеть от Data Layer APIs, оно останется полностью функциональным, даже если связанное с ним мобильное устройство находится вне зоны действия bluetooth или вообще выключено. Об этих и других новостях вы можете более подробно почитать здесь.



    Android Studio 2.2: новый редактор разметки, разметка ограничений и многое другое


    Android Studio — это интегрированная среда для разработки, которая позволит вам использовать платформу Android N наиболее эффективно и быстро получать доступ ко всем новым функциям. На конференции Google I/O мы представили обновление до версии 2.2, еще один значительный апдейт в среде разработки.

    Его цель — облегчить и ускорить разработку приложений благодаря использованию новых умных функций. Одна из важнейших — улучшенный редактор разметки и новые разметки ограничений. Во-первых, вы можете больше не использовать XML для создания разметки, во-вторых, — новые инструменты помогают разрабатывать интерфейс сразу для множества отличных устройств на базе Android. Как только вы определяете оптимальную разметку, мы берем на себя всю работу по автоматическому вычислению всех ограничений. Таким образом во всех вариантах вашего пользовательского интерфейса на разных экранах изменение размера будет проходить автоматически.

    • Скорость: улучшенный редактор разметки и новые разметки ограничений, библиотекa для тестирования Android приложений Espresso и ускорение сборки пакетов;
    • Умный подход: анализатор APK, инспектор разметки, расширенные возможности анализа кода Android и IntelliJ 2016.1;
    • Поддержка платформы:
      • Расширенная поддержка нового компилятора JACK / Java 8;
      • Расширенная поддержка C++ c CMake и NDK-Build;
      • Поддержка и Firebase и улучшенная интеграция в проекты.





    Все это – лишь небольшая часть обновлений для Android, анонсированных на конференции Google I/O. В течение трех дней состоялось более 50 сессий, и все они доступны в записи на YouTube. Нам очень интересно, как вы будете использовать все новые возможности!
    Google 92,13
    Филин Лаки
    Поделиться публикацией
    Комментарии 40
    • 0
      Мне вот интересно, а что мешает дать OpenGL доступ напрямую к GPU? Это же просто стандарт, а конкретную реализацию уже делают разработчики системы.
      Или OpenGL является универсальной прослойкой между приложением и GPU?
      • +5
        Раньше программировали напрямую GPU, грубо говоря. Потом появились различного вида прослойки, упрощающие разработку: DirectX, OpenGL из этой оперы. Они создают уровень абстракции, а уже разработчики железа на уровне драйвера обеспечивают трансляцию вызовов OpenGL или DX в хардвёрные преобразования над массивами данных. Долгое время вычисления и спецэффекты упирались в «грубую силу» вычислительной мощности видеоядра и количество памяти, но их было ДОСТАТОЧНО для поддержания приемлемой производительности на актуальных в то время разрешениях. Сейчас дошли до такой стадии развития железа и графики, что снова требуется прямой доступ к железу для написания самых высокоэффективных вычислялок для сложнейших эффектов на высоком разрешении (сложность расчётов растёт геометрически из-за количества точек). Собственно, появился Vulkan. Он пока не настолько низкоуровневый, как PS4-API для общения с GPU, но и не настолько сложный / муторный. Максимально close-to-metal с сохранением какого-никакого, но уровня абстракции.

        Это если в очень общих чертах.
        • 0
          Думаю, код для Vulcan и код для OpenGL несовместимы. Как думаете (вопрос всем), насколько популярным он окажется? Высокая производительность — это круто, но ведь приложения и на айфонах хотят выпускать. Тот же Cocos2d на iOS популярен только из-за встроенных из коробки фич в Xcode, но он все равдо проигрывает OpenGL из-за никакой кроссплатформенности.
          • +4
            OpenGL естественно напрямую в Vulkan транслироваться не будет, но с точки зрения железа технологии совместимы: в частности, Vulkan единственное, что сейчас требует от железа — совместимость с OpenGL ES 3.1 или 4.x. Ну и соответсвующих драйверов от GPU.

            Крупнейшие игроки рынка GPU и игростроя делают ставку на Vulkan сейчас, думаю, без поддержки эта штука не останется. Другое дело, что пока это удел энтузиастов, ААА-тайтлов и настроек «играем на все деньги», т.к. писать вулкан-код сложнее и «дороже», чем DX/OGL. Подробнее можно вот тут почитать. К слову, DX12 имеет схожие с Vulkan возможности по части close-to-metal программирвоанию. Но DX12 не кросплатформенный. А мы все знаем, какая платформа на ПК сейчас «игровая». Так что без конкуренции технологии не останутся.
            • 0
              Аааа, так это все таки универсальный API. А мне казалось, что Vulcan сделали ребята из гугла и только для андроида. Тогда вопрос отпадает.
      • –3
        ОТА так же будут рассылаться хз как? Критические обновления безопасности приходят через 2 недели после релиза. Просто замечательно.
        Будут ли выходить обновления безопасности для 6 после выхода N, вы ведь кинули владельцев Nexus 5 и даже не потрудились обьяснить почему.

        Какие шаги были предприняты Google чтобы обязать вендоров выпускать аппараты с новой ОС и гарантировать обновление аппаратам в течении 2-3 лет?

        Через сколько месяцев после выхода, N займёт хотя бы 10% рынка?

        Как обстоят дела с поддержкой сканера отпечатка в сторонних приложениях?
        • +2
          Nexus 5 был выпущен осенью 2013 года. На дворе 2016 год, к сожалению, это означает, что N5 вышел за рамки поддержки. (2 года)

          Сам являюсь владельцем сего девайса и очень жаль, что придется перебиваться кастомами :(
            • +1
              Свежие стоковые андройды были не так уж и плохи, потому желания ставить цианоген особо не было.
            • 0
              У меня Nexus 4. Очень классный телефон, но вот гугл конечно же отказалась поддерживать его и даже 6.0 пришлось ставить обходными путями. Очень обидно. Конечно компанию понять можно, но могли бы хоть предоставлять более простой способ установки новых версий систем на старые телефоны (пусть на свой страх и риск, без поддержки)
              • 0
                А Google уже заявил что не будет обновлять Nexus 5? Или Вы это решили из-за отсутсвия beta-прошивки на N5?
            • +1
              Про JIT компилятор было бы интересно статью почитать. Вы же в 5.0 перешли по умолчанию на ahead-of-time компиляцию, а теперь снова JIT? Чем он лучше того, что был в андроид вплоть до версии 4.4? Подробности работы хотелось бы узнать.
              • –1
                JIT частичный, только для простых кусков кода. Для тех, где важна производительность, компиляция происходит на этапе установки.
                • 0
                  Насколько мне известно, приложения не будут компилироваться при установке, даже частично. Компилироваться полностью будет только фреймворк.
                  • 0
                    Да, писали, что теперь они не будут компилировать на устройстве при установке и после установки update'а пропадёт шаг Optimizing app. Есть подозрение, что теперь Ahead-of-time компиляция происходит на серверах гугл, а JIT-компилятор работает на самих устройствах. Это было бы вполне логично, так как Ahead-of-time компиляции на самих устройствах не даёт наверное существенного прироста, а вот JIT при работе на самом устройстве даёт. Но поживём увидем и да, тоже присоединяюсь, что очень интересно было бы прочитать какой технический отчёт по этой теме.
                    • +2
                      Могу сказать немного информации, которую можно почерпнуть из публичного репозитария гугл. Приложения будут интерпретироваться и, для каждого метода будет собираться количество вызовов, при достижении определенного значения, метод будет отправлен в очередь на компиляцию, которая осуществляется в выделенном потоке. Как только метод откомпилирован, он отправляется в jit-кэш и становится доступен для вызова. Статистика вызовов сохраняется и, при долгом простое устройства, вызывется AOT-компилятор, который компилирует горячие методы. При повторном запуске эти методы уже не придется интерпретировать, но JIT все равно работает, т.к. могут появиться новые горячие методы.

                      Больше информации можно найти в исходниках: https://android.googlesource.com/platform/art/+/master/runtime/jit/

                      Нужды в AOT нет, насколько показывают данные бенчмарков от Google. Так что, в компиляции на серверах Google необходимости нет (да и технически это сложно из-за большого разнообразия железа).
                      • +1
                        То есть Dalvik VM снова в деле? =)
                        • 0
                          В целом похоже, но тут не трейсы компилируются, а методы целиком. Я бы сказал, что ART во много раз эффективнее Dalvik. Интерпретатор тоже был переписан и стал более эффективным.
                        • 0
                          То есть как я понял, вначале приложение запускается на Dalvik VM, после чего начинает собираться его профиль и как и раньше для горячих кусков запускается JIT, но в отличие от старой связки Dalvik + JIT, теперь после сбора определённого кол-ва статистики на приложении запускается AOT-компилятором и после этого работает связка ART + JIT (возможно с последующим AOT-компилятором).
                          • 0
                            В общих чертах да. Но там много деталей и нюансов и было бы хорошо, если бы кто-нить написал про это статью.

                            Еще замечу, что когда мы говорим о JIT и AOT-компиляторах, мы имеем ввиду один и тот же компилятор. Разница только в сценарии вызова.
                            • 0
                              ну я очень жду книгу от Jonathan Levin'a про Android Internals, думаю там он должен это осветить. Правда он её обещал ещё в Январе зарелизить, но до сих пор не вышла) Правда как говорит сайт его http://newandroidbook.com/index.php, теперь всё зависит от Amazon'a, хотя может он сам ещё что-то допиливает.
                  • 0
                    AOT для некоторых приложений может занимать очень много времени и даже приводить к срабатыванию таймера, убивающего процесс установки. Плюс JIT в том, что можно собирать дополнительную информацию о выполняющемся коде и оптимизировать его на основе данной информации.
                    • 0
                      Про минусы AOT знаю не понаслышке. «Некоторые приложения» — это Google Play сервисы.
                      Interpret-only есть и в текущих версиях ART, но, видимо, не так эффективен как новый JIT.
                  • –11
                    А язык Си в Андроид есть?
                    А система отображения файлов в память есть?
                    • +3
                      А язык Си в Андроид есть?
                      C/C++ есть. Ещё с Android 2.3 версии можно было писать приложения без Java вообще.
                    • 0
                      Расширенная поддержка нового компилятора JACK / Java 8;

                      Java 8 будет доступна только для N или всех платформ? Если второе — то это очень хорошо.

                      • 0
                        First Preview of Android N: Developer APIs & Tools
                        you can now use many popular Java 8 language features, including lambdas and more, on Android versions as far back as Gingerbread

                        Естественно, не все плюшки Java 8 будут доступны, но, всё же, двигаются в верном направлении.
                      • 0
                        Когда уже в андроиде появится многоканальный звук?
                        Когда появится поддержка USB Audio Class 2.0?
                        Когда появится работа с несколькими мониторами?
                        • 0
                          Зачем вся эта фигня большинству людей на телефонах/планшетах?
                          • 0
                            Особенно работа с несколькими мониторами всем нужна без исключения.
                            • +1
                              Так и знал, что здесь это спросят. Дело в том, что систему делают не только для большинства. Посмотрите на винду. Там целый ворох разных штук, которыми пользуется очень мало людей, но пользуются ведь. И это не мешает ей оставаться самом популярной осью на компьютерах.
                              На самом деле, все, что нужно большинству, в андроиде уже есть. Теперь осталось сделать то, чего не хватает продвинутым пользователям, а также то, что позволит системе выйти на другой рынок. Собственно, уже началось движение в сторону рынка ПК, где без многооконности, работы с несколькими мониторами и еще других фишек система не сыщет успеха.
                              • +1
                                Я продвинутый пользователь и разработчик под Андроид. Как писали выше — лучше бы они придумали как вендоров заставить обновлять девайсы и ускоряли распространение каждой новой версии на рынке, а не 5% девайсов через 1 год… А наличие таких полезных фич необходимых малому кол-ву «продвинутых» — дополнительная нагрузка на вендоров по их поддержке и, соответсвенно, доп. задержки для выпуска обновлений.
                              • 0
                                Насколько я знаю, Андроид — ос не только для телефонов и планшетов.
                                Всевозможные андроид приставки к телевизорам (или сами телевизоры на андроиде), автомобильные мультимедиа на андроиде, набирают популярность, а готовых решений для качественного звука/мультимедиа операционная система до сих пор не предоставляет.

                                Нужно признать, что по аудио части андроид сильно проигрывает как айфонам/макбукам, так и виндовсу, линуксу. Если в айоси присутствует тот же самый UAC2.0 из коробки, то в виндовс это решается наличием большого количества драйверов/софта для его поддержки.
                                Где то читал тест, где слепое тестирование показало проигрыш андроид устройств по качества звука устройствам на других операционках.

                                К тому же из моих наблюдений телефоны и планшеты одни из самых популярных устройств для прослушивания музыки и просмотров фильмов. Производители смартфонов/планшетов добавляют возможность подключать устройства к телевизорам, к различным док стнциям и т.д., и весь этот функционал неполноценен без соответствующей поддержки ос.
                            • 0
                              В Интернете мелькают слухи о добавлении возможности писать ПО на Swift, это так?
                              Если до то можно подробнее об этом и сроках
                              • 0
                                На гитхабе есть поделка, позволяющая запускать swift на андроид устройствах.
                                https://github.com/apple/swift/blob/master/docs/Android.md

                                Тут есть другая проблема. Java и Swift совершенно несовместимы и очень много разных библиотек и проектов уже написано на Java. Поэтому, придется городить костыли.
                                Лично я куда больше за Kotlin. Он так же использует JVM, так что в системе ничего менять не надо. Его можно легко совмещать с Java кодом. Он в целом упрощает разработку и в том числе имеет кучу упрощений для Android специфичного кода. Для него уже есть полная поддержка в Android Studio. Плюс, у гугла уже есть опыт общения с командой JetBrains, так как они сделали Intelij IDEA, на которой основан Android Studio.
                                Осталось только обучить разработчиков новому языку, и это будет проще, чем изучать Swift
                              • 0
                                Android N, O, P, Q…
                                Когда наконец появится возможность свернуть входящий вызов, не сбрасывая звонок и не отвечая на него? Нереально бесит, когда входящий звонок выбивает из клиент-банка или прерывает какой-то другой в разы более важный для меня в этот момент процесс.
                                • 0
                                  Свайп по всплывающему уведомлению вверх именно это и делает.
                                  • 0
                                    Только что попробовал на своём 4.1.1 — предлагается отправить смс в ответ, но просто сбросить вызов в фон и «забить» на него — не удаётся. С какой версии искать то, чего я так неистово желаю?
                                    • 0
                                      С 5. Зачем тогда спрашивать про «N, O, P, Q...», когда сам даже не пробовал те, которым уже пара лет?
                                      А на 4.1.1 попробуй нажать клавишу громкости.
                                      • 0
                                        Про клавишу громкости я знаю, не то она делает. Зачем спрашивать?
                                        Затем что это несколько дешевле и проще, чем покупать телефоны или шаманить с прошивками только ради попробовать (здесь смайл). Вы скажете — «мог бы спросить у друзей, знакомых и т.д.». Мог бы, но есть более приоритетные проблемы. А то, что нашел время спросить здесь — считайте криком души в 23.12.
                                        И да, таки спасибо за ответ по существу. У меня были сомнения что это было вообще реализовано, и до сих пор «звонок превыше всего».

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое