#RecyclerView #DiffUtil #UnderTheHood
Разоблачаем магию DiffUtil
RecyclerView - компонент который есть в любом приложение. Он имеет возможность с помощью анимации показывать изменения данных в нем. Делается это довольно непросто, поэтому Google дала нам DiffUtil - утилита, которая за нас вычисляет разницу и анимирует список.
Для тех кто хочет понять как работает эта магия (а называется она алгоритм Майерса) ты вы можете узнать это от ребят из Redmadrobot. Объясняют довольно доступно и с красивыми иллюстрациями.
Разоблачаем магию DiffUtil
RecyclerView - компонент который есть в любом приложение. Он имеет возможность с помощью анимации показывать изменения данных в нем. Делается это довольно непросто, поэтому Google дала нам DiffUtil - утилита, которая за нас вычисляет разницу и анимирует список.
Для тех кто хочет понять как работает эта магия (а называется она алгоритм Майерса) ты вы можете узнать это от ребят из Redmadrobot. Объясняют довольно доступно и с красивыми иллюстрациями.
Хабр
Разоблачаем магию DiffUtil
Каждый Android-разработчик использовал RecyclerView для отображения списков и каждый сталкивался с проблемой обновления данных в списке, пока в 2016 году не появился магический класс DiffUtil. Я...
#UnderTheHood #Text #Performance
Отображение текста в Android
Отображение текста одна из самых тяжелых графических операций в UI, так как для того чтобы нарисовать текст нужно сделать множество просчетов. Отключение переноса слов и перенос measuring текста в фоновый поток значительно разгружают ваш UI. Что же такого происходит под капотом в
В статье вы найдете подробный разбор как объекта строки превращается в картинку на экране:
👉 Нативные библиотеки под капотом
👉 Как происходит перенос текста на новую строку
👉 Использование различных стилей в
👉
👉 Как текст располагается в
👉 Оптимизация производительность TextView
Отображение текста в Android
Отображение текста одна из самых тяжелых графических операций в UI, так как для того чтобы нарисовать текст нужно сделать множество просчетов. Отключение переноса слов и перенос measuring текста в фоновый поток значительно разгружают ваш UI. Что же такого происходит под капотом в
TextView
? В статье вы найдете подробный разбор как объекта строки превращается в картинку на экране:
👉 Нативные библиотеки под капотом
👉 Как происходит перенос текста на новую строку
👉 Использование различных стилей в
TextView
👉
Span
ы👉 Как текст располагается в
TextView
👉 Оптимизация производительность TextView
Хабр
Отображение текста в Android
Отображение текстовой информации — наверное, самая базовая и важная часть многих Android-приложений. В данной статье пойдет речь о TextView. Каждый разработчик, начиная с «Hello World», постоянно...
#Retrofit #Coroutines #UnderTheHood #JakeWharton
Exceptions and proxies and coroutines, oh my!
В Retrofit 2.6.0 была добавлена поддержка Kotlin Coroutine - функции в интерфейсе Retrofit можно помечать ключевым словом
. Что стоит за этой реализацией? Какие образом Java Dynamic Proxy может работать с Coroutine? В своей статье Jake делает разбор
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: Internals
Недавно представленный View Binding для упрощения работы с View из XML Layout, уже убивший Butter Knife, чем-то схож в Data Binding. Его авторы вообще сказали, что часть пользователей использовали Data Binding только для ссылок оттуда и возникла идея View Binding.
Как же
View Binding
работает под капотом? Об этом вы сможете узнать из статьиStyling Android
View Binding: Internals
In September 2019 Google released Android Studio 3.6 Canary 11 to the Canary channel. This had an interesting new addition: View Binding. In this short series we'll take a look at how it works, and w
#Dagger #UnderTheHood
Dagger Android — Behind the Scenes
Самый популярный фреймворк для DI на Android - Dagger 2. Для фан базы создатели этого DI реализовали специальное расширение Dagger - dagger-android. Суть его в том чтобы упростить доставку зависимостей в Android компоненты.
Стало ли это проще? Спорно. Чтобы все это работало надо еще написать кучу кода и добавить отдельный процессор аннотаций.
В статье разбирается как под капотом работает
Dagger Android — Behind the Scenes
Самый популярный фреймворк для DI на Android - Dagger 2. Для фан базы создатели этого DI реализовали специальное расширение Dagger - dagger-android. Суть его в том чтобы упростить доставку зависимостей в Android компоненты.
Стало ли это проще? Спорно. Чтобы все это работало надо еще написать кучу кода и добавить отдельный процессор аннотаций.
В статье разбирается как под капотом работает
dagger-android
и чего стоит его удобствоMedium
Dagger Android — Behind the Scenes
Understanding Dagger 2 itself is already a challenge for many. With Dagger Android, it becomes even more confusing how things works…
#UnderTheHood
Mastering the Android Touch System
Каждый день мы совершаем тысячи событий для системы, касаясь экрана смартфона. Знание особенностей работы этой системы поможет строить ваши собственные View эффективнее, а также понимать принципы работы для другого функционала связанного с обработкой касаний экрана.
Mastering the Android Touch System
Каждый день мы совершаем тысячи событий для системы, касаясь экрана смартфона. Знание особенностей работы этой системы поможет строить ваши собственные View эффективнее, а также понимать принципы работы для другого функционала связанного с обработкой касаний экрана.
Medium
Mastering the Android Touch System
Let’s explore the Touch Framework
#Podcast #Ask #Coroutines #UnderTheHood
8 января я, Кирилл Розов, автор канала Android Broadcast и Ильмир Усманов, разработчик компилятора Kotlin в JetBrains запишем подкаст на тему того, как обеспечивается работа Coroutine на уровне компилятора:
👉 Как работают Сoroutine под капотом
👉 Оптимизация кода компилятором
👉 Нужно ли разработчику запариваться как вызывать suspend функции определенным образом для более оптимального байт кода
👉 Как эффективнее вызывать suspend функции
👉 Coroutines в JVM/Native/JS
👉 Какие оптимизации ждут Coroutine в новом JVM Backend
👉 Дебаг Coroutine
Свои вопросы, на которые вам интересно услышать ответы, вы можете задать в Twitter комментарием на пост или мне в личку
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 чтобы переживать пересоздания
Android ViewModel. How it works
Android Architecture Components - довольно популярное решение на сегодня в Android разработке. Понимание механизмов работы его компонентов поможет эффективнее использовать его и подать идеи как реализовать другой функционал с использованием аналогичных механизмов.
В статье разбирается:
👉 ViewModelProvider
👉 ViewModelStore
👉 ViewModelStoreOwner
👉 Эволюция ViewModel: 2017, 2018, 2019
👉 Где хранится ViewModel чтобы переживать пересоздания
Activity
/Fragment
при смене конфигурацииMedium
Android ViewModel. How it works.
Hello everybody.
#Kotlin #Coroutines #UnderTheHood
Kotlin Vocabulary - Suspend functions
Kotlin Coroutines - то что делает громкий заявления об упрощение работы с асинхронными операциями и выдерживает множество запущенных операций.
На основе чего работает вся эта магия? Что происходит под капотом? Во что превращается функция с модификатором suspend, если в JVM нет такого понятия. Обо всем этом можно найти ответы в видео
Kotlin Vocabulary - Suspend functions
Kotlin Coroutines - то что делает громкий заявления об упрощение работы с асинхронными операциями и выдерживает множество запущенных операций.
На основе чего работает вся эта магия? Что происходит под капотом? Во что превращается функция с модификатором suspend, если в JVM нет такого понятия. Обо всем этом можно найти ответы в видео
YouTube
Suspend functions - Kotlin Vocabulary
Coroutines in Kotlin simplify asynchronous operations on Android. In this video, we go more in depth about why coroutines are important, how they work under the hood, how a coroutine can suspend without blocking threads, and much more!
#KotlinVocabulary…
#KotlinVocabulary…
#Kotlin #Coroutines #UnderTheHood
The suspend modifier — Under the hood
Текстовая версия выпущенного ранее ролика о том, как работает ключевое слово
The suspend modifier — Under the hood
Текстовая версия выпущенного ранее ролика о том, как работает ключевое слово
suspend
в Kotlin.Medium
The suspend modifier — under the hood
Kotlin Vocabulary: Coroutines
#Kotlin #KotlinVocabulary #UnderTheHood
Inline functions — under the hood
inline функции - это особенная функция, которая позволяет оптимизировать код на уровне компилятора, избавлять от создания ненужных лямбда выражений и вызова функций.
В статье разбирается как работает ключевое слово inline в Kotlin.
Когда лучше его использовать:
👉 Для функций, которые имеют функции в качестве параметра
👉 Для небольших функций, чтобы конечный байт код не разрастался
Inline functions — under the hood
inline функции - это особенная функция, которая позволяет оптимизировать код на уровне компилятора, избавлять от создания ненужных лямбда выражений и вызова функций.
В статье разбирается как работает ключевое слово inline в Kotlin.
Когда лучше его использовать:
👉 Для функций, которые имеют функции в качестве параметра
👉 Для небольших функций, чтобы конечный байт код не разрастался
Medium
Inline functions — under the hood
Kotlin Vocabulary
#Coroutines #UnderTheHood
Coroutines: Suspending State Machines
8 минут на чтение
В статье разбирает как код с использованием suspend функций и Coroutine превращается в рабочий код на конечной платформе. Разбираются такие понятия как:
👉 suspension points
👉 Continuation Passing Style (CPS)
👉 state machine
Все довольно лаконично, просто и с визуализацией, поэтому сложить высокоуровневое представление получается достаточно хорошо.
Coroutines: Suspending State Machines
8 минут на чтение
В статье разбирает как код с использованием suspend функций и Coroutine превращается в рабочий код на конечной платформе. Разбираются такие понятия как:
👉 suspension points
👉 Continuation Passing Style (CPS)
👉 state machine
Все довольно лаконично, просто и с визуализацией, поэтому сложить высокоуровневое представление получается достаточно хорошо.
Medium
Coroutines: Suspending State Machines
Coroutines make our asynchronous code look sequential. Coroutines help us escape the callback hell. Coroutines save us from the complex…
#UnderTheHood
Android Vitals - Diving into cold start waters
В статье разбирается как происходит холодный (когда процесса приложения не существует) запуск приложения Android. Хардкорненько и на любителя. Ставьте свои лайки и дизлайки чтобы понять интересно вам или нет
Android Vitals - Diving into cold start waters
В статье разбирается как происходит холодный (когда процесса приложения не существует) запуск приложения Android. Хардкорненько и на любителя. Ставьте свои лайки и дизлайки чтобы понять интересно вам или нет
DEV Community
Android Vitals - Diving into cold start waters 🥶
Header image: A Song of Ice and Fire by Romain Guy. This blog series is focused on stability and p...