Android Broadcast
14.1K subscribers
3.37K photos
273 videos
11 files
5.66K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#RecyclerView #DiffUtil #UnderTheHood

Разоблачаем магию DiffUtil

RecyclerView - компонент который есть в любом приложение. Он имеет возможность с помощью анимации показывать изменения данных в нем. Делается это довольно непросто, поэтому Google дала нам DiffUtil - утилита, которая за нас вычисляет разницу и анимирует список.

Для тех кто хочет понять как работает эта магия (а называется она алгоритм Майерса) ты вы можете узнать это от ребят из Redmadrobot. Объясняют довольно доступно и с красивыми иллюстрациями.
#UnderTheHood #Text #Performance

Отображение текста в Android

Отображение текста одна из самых тяжелых графических операций в UI, так как для того чтобы нарисовать текст нужно сделать множество просчетов. Отключение переноса слов и перенос measuring текста в фоновый поток значительно разгружают ваш UI. Что же такого происходит под капотом в TextView?

В статье вы найдете подробный разбор как объекта строки превращается в картинку на экране:
👉 Нативные библиотеки под капотом
👉 Как происходит перенос текста на новую строку
👉 Использование различных стилей в TextView
👉 Spanы
👉 Как текст располагается в TextView
👉 Оптимизация производительность TextView
#Retrofit #Coroutines #UnderTheHood #JakeWharton

Exceptions and proxies and coroutines, oh my!

В Retrofit 2.6.0 была добавлена поддержка Kotlin Coroutine - функции в интерфейсе Retrofit можно помечать ключевым словом
suspend
. Что стоит за этой реализацией? Какие образом Java Dynamic Proxy может работать с Coroutine? В своей статье Jake делает разбор
#ViewBinding #UnderTheHood

View Binding: Internals

Недавно представленный View Binding для упрощения работы с View из XML Layout, уже убивший Butter Knife, чем-то схож в Data Binding. Его авторы вообще сказали, что часть пользователей использовали Data Binding только для ссылок оттуда и возникла идея View Binding.

Как же View Binding работает под капотом? Об этом вы сможете узнать из статьи
#Dagger #UnderTheHood

Dagger Android — Behind the Scenes

Самый популярный фреймворк для DI на Android - Dagger 2. Для фан базы создатели этого DI реализовали специальное расширение Dagger - dagger-android. Суть его в том чтобы упростить доставку зависимостей в Android компоненты.

Стало ли это проще? Спорно. Чтобы все это работало надо еще написать кучу кода и добавить отдельный процессор аннотаций.

В статье разбирается как под капотом работает dagger-android и чего стоит его удобство
#UnderTheHood

Mastering the Android Touch System

Каждый день мы совершаем тысячи событий для системы, касаясь экрана смартфона. Знание особенностей работы этой системы поможет строить ваши собственные View эффективнее, а также понимать принципы работы для другого функционала связанного с обработкой касаний экрана.
#Podcast #Ask #Coroutines #UnderTheHood

8 января я, Кирилл Розов, автор канала Android Broadcast и Ильмир Усманов, разработчик компилятора Kotlin в JetBrains запишем подкаст на тему того, как обеспечивается работа Coroutine на уровне компилятора:
👉 Как работают Сoroutine под капотом
👉 Оптимизация кода компилятором
👉 Нужно ли разработчику запариваться как вызывать suspend функции определенным образом для более оптимального байт кода
👉 Как эффективнее вызывать suspend функции
👉 Coroutines в JVM/Native/JS
👉 Какие оптимизации ждут Coroutine в новом JVM Backend
👉 Дебаг Coroutine

Свои вопросы, на которые вам интересно услышать ответы, вы можете задать в Twitter комментарием на пост или мне в личку
#ViewModel #ArchitectureComponent #UnderTheHood

Android ViewModel. How it works

Android Architecture Components - довольно популярное решение на сегодня в Android разработке. Понимание механизмов работы его компонентов поможет эффективнее использовать его и подать идеи как реализовать другой функционал с использованием аналогичных механизмов.

В статье разбирается:
👉 ViewModelProvider
👉 ViewModelStore
👉 ViewModelStoreOwner
👉 Эволюция ViewModel: 2017, 2018, 2019
👉 Где хранится ViewModel чтобы переживать пересоздания Activity/Fragment при смене конфигурации
#Kotlin #Coroutines #UnderTheHood

Kotlin Vocabulary - Suspend functions

Kotlin Coroutines - то что делает громкий заявления об упрощение работы с асинхронными операциями и выдерживает множество запущенных операций.

На основе чего работает вся эта магия? Что происходит под капотом? Во что превращается функция с модификатором suspend, если в JVM нет такого понятия. Обо всем этом можно найти ответы в видео
#Kotlin #KotlinVocabulary #UnderTheHood

Inline functions — under the hood

inline функции - это особенная функция, которая позволяет оптимизировать код на уровне компилятора, избавлять от создания ненужных лямбда выражений и вызова функций.

В статье разбирается как работает ключевое слово inline в Kotlin.

Когда лучше его использовать:
👉 Для функций, которые имеют функции в качестве параметра
👉 Для небольших функций, чтобы конечный байт код не разрастался
#Coroutines #UnderTheHood

Coroutines: Suspending State Machines
8 минут на чтение

В статье разбирает как код с использованием suspend функций и Coroutine превращается в рабочий код на конечной платформе. Разбираются такие понятия как:
👉 suspension points
👉 Continuation Passing Style (CPS)
👉 state machine

Все довольно лаконично, просто и с визуализацией, поэтому сложить высокоуровневое представление получается достаточно хорошо.
#UnderTheHood

Android Vitals - Diving into cold start waters

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