Android Broadcast
14.2K subscribers
3.49K photos
333 videos
11 files
5.85K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#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. Хардкорненько и на любителя. Ставьте свои лайки и дизлайки чтобы понять интересно вам или нет
#Android #UnderTheHood

Android Vitals - Rising to the first drawn surface

Продолжение статей о запуске Android приложения. В новой части рассказывается про запуск первой Activity приложения при холодном старте
#JetpackCompose #UnderTheHood

Understanding Jetpack Compose — Part 1 of 2

Совсем недавно была анонсирована альфа Jetpack Compose. Вместе с этим нам стало доступно множество обучающих материалов и документации.

В статье разбираются базовые принципы декларативного подхода в UI и чем он отличается привычному Android разработчику иерархии View + XML
#JetpackCompose #UnderTheHood

Under the hood of Jetpack Compose — part 2 of 2

Продолжение раскрытие деталей реализации Jetpack Compose. Во второй части вы найдете ответы на вопросы:
👉 Что значит аннотация @Composable
👉 В чем похожи @Composable и suspend из Kotlin
👉 Как строится UI в Jetpack Compose
👉 Что такое Composer
👉 Как устроена работа с входными параметрами и обновлением UI в Jetpack Compose

Важно: чтобы работать с Jetpack Compose вам не нужно понять детали этой статьи
#Android #UnderTheHood

Бесшовные A/B-обновления в Android: как они устроены

Обновления Android на современных устройствах уже давно убрали длинную загрузку, потому что появился новый механизм A/B обновлений в Android 8.0. Как он устроен и позволяет ли уменьшить требуемое количество свободной памяти? Ответы найдете в статье
#Android #UnderTheHood

Отрисовка первого кадра Android-приложения

Глубокое погружение в процесс загрузки-запуска Android-приложения. В статье разбирается что происходит в приложении, когда начальная Activity приложения запущена и система должна отрисовать первый кадр.
#Coroutines #UnderTheHood

Bridging the gap between coroutines, JVM threads, and concurrency problems

Хотите узнать как работают Coroutine на JVM? Как они связаны c Java потоками? Какую роль в этом выполняет CoroutineDispatcher? В статье найдете ответы простым языком с отсылкой в исходники
#jetpack #underthehood

Рекомендую ознакомиться всем со статьей в которой рассказывается про то как ViewModel переживает уничтожение Activity/Fragment и сохраняет ваши данные. Полезно будет на собеседование и для создания собственных аналогичных решений.
👍62👎16🔥2
Разбор(9м) как под капотом работает Dagger, Koin, Hilt и как написать свой простой DI

#di #underthehood
21👍9👎6🔥5