Показаны сообщения с ярлыком Android 9. Показать все сообщения
Показаны сообщения с ярлыком Android 9. Показать все сообщения

5 августа 2018 г.

Изменения поведений в Android P. Часть 2: от тегирования сокетов до ещё большего урезания Apache HTTP client (дважды!)

Последняя публичная бета
Дальше — релиз

     Эта статья является переводом второй половины вот этой: https://developer.android.com/preview/behavior-changes.html. Как всегда, я рекомендую читать оригинал.
    Перевод первой половины: https://myachinqa.blogspot.com/2018/04/android-p-1.html

   Теги сокетов

    До Android P, если сокет был затеган методом setThreadStatsTag(), то при использовании binder IPC с ParcelFileDescriptor контейнером для отправки сокета другому процессу, тег слетал.
    В Android P это поведение изменилось и теперь в этом сценарии тег сохраняется. Такое изменение может повлиять на оценки статистик сетевого трафика, если, например, получить их у метода queryDetailsForUidTag(). Чтобы вернуть старое поведение  вам нужно вызвать untagSocket() перед отправкой сокета другому процессу.

Сообщение о доступном объёме байтов в сокете

    Если вызвать метод available() после shutdownInput(), то будет возвращён 0.

Больше данных о сетях для VPN клиентов

    До версии платформы ниже Android P класс NetworkCapabilities сообщал ограниченный набор данных для VPN. Например, сообщал TRANSPORT_VPN, но не NET_CAPABILITY_NOT_VPN. Из-за этого разработчикам было трудно понимать, приведёт ли использование VPN к расходу средств пользователя. К примеру, проверка NET_CAPABILITY_NOT_METERED не определяла, поднят VPN на сети с оплатой трафика или же на безлимитной сети.
    Начиная с Android P, когда VPN вызывает метод setUnderlyingNetworks(), система просуммирует транспорты и свойства всех сетей, на которых запущено подключение и вернёт нормальную совокупность свойств этих сетей.

4 апреля 2018 г.

Изменения поведений в Android P. Часть 1: от доступа к датчикам до возможных проблем взаимодействия с сетью

    Эта статья является переводом первой половины вот этой: https://developer.android.com/preview/behavior-changes.html. Как всегда, я рекомендую читать оригинал.


    В Android P есть множество изменений поведения системы и большая их часть скажется на всех приложениях, вне зависимости от заявленного в них target. Разумеется, есть и такие изменения, которые будут применены только к тем приложениям, в которых объявлена поддержка Android P. Для максимальной ясности описания, эта запись будет разделена на несколько частей. В первой статье будет описана часть изменений, применимых ко всем приложениям, во второй статье будет продолжение описания этих изменений. В третьей статье будут описаны те изменения, которые коснутся приложений, заявивших поддержку Android P.

    Все изменения, описанные ниже, будут применены ко всем приложениям, работающими на Android P, вне зависимости от того, заявили они поддержку этой версии Android или нет. Каждый разработчик должен ознакомиться с этим списком и подумать, затрагивает ли каждое из изменений какое-либо из его приложений.

18 марта 2018 г.

Android P: Возможности и API. Ч. 2: от Анимации до Переворота

    Это продолжение перевода, начатой здесь: https://myachinqa.blogspot.ru/2018/03/android-p-api-1-wi-fi-rtt-imagedecoder.html Разумеется, я снова рекомендую во-первых читать оригинал, во-вторых дождаться финальной версии статьи. Пока делался перевод второй части, я уже увидел изменения, которые Google успел сделать за несколько дней. Думаю, к релизу их будет ещё несколько.
    Чтобы хоть как-то оправдать чтение моего перевода, а не оригинала, я добавил свои комментарии, помогающие прояснить некоторые возможные вопросы.

  Анимация

    В Android P появился новый класс для отрисовки и отображения анимированных GIF и WebP — AnimatedImageDrawable. Как и в ситуации с AnimatedVectorDrawable, анимацией в AnimatedImageDrawable управляет RenderThread. Операции декодирования RenderThread выполняет в рабочем потоке, потому они не мешают самому RenderThread. Благодаря такой реализации в вашем приложении могут быть анимированные изображения и при этом нет нужды заботиться их управлением или переживать, что они будут оказывать влияние на UI поток.

11 марта 2018 г.

Android P: Возможности и API. Ч. 1: от Wi-Fi RTT до ImageDecoder

Подсвечивание новых API

    Эта статья является переводом вот этой: https://developer.android.com/preview/features.html Как и всегда раньше, я рекомендую читать оригинал. Т.к. в оригинале 100% будут изменения текста, я буду обновлять и свою статью. Так что разумнее всего читать её после релиза. И эту, и оригинал — смотря что вам удобнее.
    Кроме того, здесь лишь половина от оригинала. Вторая часть находится под заголовком «ч. 2». Так и читать попроще, и корректировать точнее.

    В Android P вводится несколько отличных фишек для пользователей и разработчиков. Этот документ кратко описывает, что нового появилось именно у разработчиков.

    Для изучения новых API, прочтите отчёт по API diff или посетите страницу со списком всех Android API — на ней новые API подсвечены, чтобы их было проще увидеть.
    Также ознакомьтесь со страницей «Изменение поведений Android P» (TODO: когда переведу и эту страницу, ссылку заменю), чтобы прикинуть, в каких местах могли быть задеты ваши приложения.