Обложка канала

Android Broadcast. Страница 106

Качественная выборка Android Dev новостей, тезисы важных новостей и статей, личное мнение

  • Android Broadcast

    #Kotlin #Inline

    Kotlin’s Noinline & Crossline, once for all

    В работе не так часто приходится использовать inline функции. Ещё реже приходится использовать модификаторы "инлайнинга", поэтому работа noinline и crossinline для не опытных разработчиков может быть весьма не очевидна и не совсем понятно для чего они существуют.

    Автор статьи на примерах показывает принципы работы как самого "инлайнинга", так и его модификаций, какие ошибки может вызвать неправильное "встраивание" и показывает несколько нюансов при работе с подобными функциями.
  • Android Broadcast

    #Performance #AppStart #Realm

    Сказ о том, как каскадное удаление в Realm долгий запуск победило

    История оптимизации приложения ДоДо Пицца, у которых он стал достигать 20 секунд. В статье разбирается как замерить старт, анализировать проблему и ее исправить.

    В случае ребят проблемой была БД RealM и отсутствие каскадного удаления. Ребята реализовали это сами, чем сделали старт приложения мгновенным.
  • Android Broadcast

    #Firebase

    Product news and other highlights from Firebase Live

    Команда Firebase представила новинки:
    👉 Новый UI эмулятора для локальной разработки (видео)
    👉 Упрощение процесса написания и тестирования правил безопасности (видео)
    👉 Поддержка "Sign in with Apple" (видео)
    👉 Поддержка платежей с помощью Stripe
    👉 Улучшение деплоя моделей TensorFlow Lite. ML Model Managment API для управления моделями через CLI
    👉 Crashlytics BigQuery streaming - возможость в реальном времени получать креши
  • Реклама

  • Android Broadcast

    #Gradle #Cache

    Configuration Caching deep dive

    Одним из узких мест Gradle сборки является фаза конфигурации. Сейчас она происходит всегда при запуске любого таска, даже если ваш проект не поменялся.

    В Gradle 6.6 появилась экспериментальная возможность, которая позволяет кэшировать информацию о графе task-ов. Команда Android Gradle Plugin (AGP) сразу же взяли ее на исследование для применения в AGP

    В статье разбирается принципы работы этой фичи и как ее адаптировать

    Поддержка этой возможности будет в Kotlin 1.4. Больше подробностей о поддержке в других Gradle плагинах можно найти здесь.
  • Android Broadcast

    #AndroidGradlePlugin #Gradle #KotlinDSL

    New APIs in the Android Gradle Plugin

    Статья с обзором изменений в Android Gradle Plugin (AGP) 4.1. Нас ждет:
    👉 Полная поддержка Gradle Kotlin DSL. Добились этого за счет выделения интерфейсов API и они написаны на Kotlin
    👉 Опубликована новая документация по API AGP
    👉 Новое Variant API (пример использования здесь), упрощающее работы с Tasks AGP и зависимостями на них
    👉 Новое Artifcat API (пример использования здесь), которое позволяет эффективно управлять артефактами сборки Android проектов

    Старое API останется работать и пока не будет удалено, но разработчиком Gradle плагинов стоит обратить внимание на изменения
  • Android Broadcast

    #AndroidStudio #Gradle #Performance

    Understanding your build with the Build Analyzer

    В Android Studio (AS) 4.0 появилась возможность проанализировать скорость сборки вашего и увидеть визуализацию этого.

    Рекомендую всем после установки AS 4.0 и выше сделать Clean Build и посмотреть есть ли у вас проблемные места в сборке и где они
  • Android Broadcast

    #Coroutines #Kotlin14

    Kotlin 1.4.0-RC: Debugging coroutines

    Большое улучшение дебагера для Coroutine уже здесь и для этого вам нужен Kotlin 1.4. Новинки:
    👉 Новый отдельный таб в дебаггере Idea "coroutines"
    👉 Возможность просматривать все Coroutine которые выполняются и приостановлены
    👉 Возможность проверить состояние любой coroutine и значения локальных и captured переменных
    👉 Полный stacktrace создания coroutine
    👉 Возможность получения отчета о состоянии каждой coroutine и ее стека

    Пока все это работает только на Kotlin/JVM
  • Android Broadcast

    #AndroidBroadcast

    Просто интервью с Артемом Зиннатуллиным@Lyft
    Когда: Пятница, 31 июля, 10:00 (GMT+3)

    Просто интервью обо всем: работе, переезде, работе менеджером и куда идти после IT

    Гость выпуска - Артем Зиннатуллин, Staff Software Engineer в Lyft. Работает над билд системами, дев тулингом, CI, библиотеками, инфраструктурой. До этого занимался мобильной разработкой, делал RxJava, Spek и другие. Ищет выход из IT
    Просто интервью с Артемом Зиннатуллиным@Lyft

    #AndroidBroadcast #ArtemZinnatullin

    Просто интервью обо всем: работе, переезде, работе менеджером и куда идти после IT

    YouTube
  • Android Broadcast

    #ViewPager

    ViewPager2 — digging the internal API to make it work with DiffUtil

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

    Статья концентрируется на том как правильно настроить DiffUtil с ViewPager 2.0
  • Android Broadcast

    #R8 #Security

    Shrinking Your App with R8

    Буквально вчера мы поговорили про безопасность на стриме, и в дополнение рекомендую ознакомиться с альтернативой ProGuard от Google - R8.

    В статье рассматривается:
    👉 возможности R8
    👉 зачем использовать code shrinking
    👉 каких результатов позволяет достичь использование R8 для уменьшения размера приложений
    👉 Как настроить R8 в приложении
  • Android Broadcast

    #Battery

    Энергопотребление Android-приложений

    Статья с обзором различных оптимизаций, которые ОС Android использует для ограничения работы приложений, направленных на продление работы устройства.

    Мы как разработчики должны знать какие они есть, как с ними работать, а главное как протестировать их эффект на приложение.
  • Android Broadcast

    #Kotlin

    Kotlin 1.4.0-RC Released

    Kotlin 1.4 уже совсем близко. В RC версии добавились следующие улучшения:
    👉 Улучшена поддержка Gradle Kotlin Script
    👉 Больше не нужно явно добавлять зависимость на stdlib, она будет подключаться вместе с плагином kotlin
    👉 Управление CocoaPods зависимостями стало проще
    👉 Различные улучшения в Koitlin/JS
    👉 Часть API в stdlib перешло из состояния experimental в stable.
  • Android Broadcast

    #UnderTheHood

    Android Vitals - Diving into cold start waters

    В статье разбирается как происходит холодный (когда процесса приложения не существует) запуск приложения Android. Хардкорненько и на любителя. Ставьте свои лайки и дизлайки чтобы понять интересно вам или нет
  • Android Broadcast

    #AndroidBroadcast #Security

    Безопасность мобильных приложений (Livestream)

    Когда: Вторник, 28 июля, 20:00 (GMT+3)
    Где: YouTube канал Android Broadcast

    Какие дыры есть в Android? Как ими могут воспользоваться злоумышленники? Куда развивается Android ОС в рамках безопасности? Как обеспечить защиту пользователя и сервиса от злоумышленников? На все эти вопросы будем искать ответы вместе в ходе выпуска.

    Гость выпуска - Ольга Шкряба, Senior Mobile Security Engineer. Занимается исследованием и разработкой решений в сфере безопасности, а также поиском уязвимостей. Автор Telegram канала о безопасности мобильных приложений paradiSEcurity
  • Android Broadcast

    #Arhitecture #LIveData

    Don’t use LiveData in Repositories

    Появление Arch Component показало и видение архитектуры от Google на основе этих компонентов (схема тут). Видение это подразумевало, что начиная от источников данных в Storage и Repostiory у вас возвращаются LiveData, для обеспечения реактивного получения обновления данных.

    Вы задумывались о том, почему компонент LiveData, который имеет связь с жизненным циклом (ЖЦ), используется в слое с данными. Данные должны быть абстрагированы от особенностей платформы, в особенности таких как ЖЦ.

    Также LiveData имеет особенности по работе, например обновление данных происходит через главный поток, для обеспечения синхронизации обновлений

    Хорошей заменой для этого будет использование LiveData только для коммуникации между ViewModel и UI, а на всех остальных слоях другие реактивные подходы:
    👉 Coroutines Flow
    👉 Reaktive
    👉 RxJava
  • Реклама

  • Android Broadcast

    #Jetpack #CameraX

    CameraX: a glimpse into the past, present, and future

    CameraX все еще пока находится в Beta, но уже множество разработчиков высказываются о позитивных моментах ее использования: уменьшение размера кодовой базы, связанной с камерой, и что теперь не надо отлаживать камеру на устройствах от различных производителей.

    Чтобы все это еще работало точно и без проблем в Google создали специальную тестовую лабораторию с более чем 90 устройствами (полный список здесь) для проверки работы CameraX.

    Возможности использования ночного режима, HDR и др функций, которые раньше были только доступны в стоковой камеры теперь доступны всем через CameraX.
  • Android Broadcast

    #WorkManager

    Use WorkManager for immediate background execution

    В WorkManage 2.3.0 появилась возможность выполнения задач в Foreground Service. Это хорошо подходит для выполнения долгих задач прямо в текущий момент.

    В статье разбирается больше подробностей о том как выполнять WorkRequest в Foreground Service
  • Android Broadcast

    #Jetpack #GItHub

    Jetpack вернулся на GitHub!

    Легендарное возвращение Jetpack на GitHub и возможность контрибьютить туда. Сейчас принимаются pull request-ы в Room и WorkManager