Android Good Reads
3.88K subscribers
344 photos
13 videos
1 file
2K links
Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Автор канала: @Lamprof

Размещение рекламы: @tanyasanovna
Download Telegram
Тинькофф ищет mobile-разработчиков, чтобы за три дня сделать им оффер 💡

6 августа пройдет Mobile Weekend Offer для iOS- и Android-разработчиков с опытом от 3 лет. Пройдите все этапы технического интервью за день. Если понравятся условия и задачи — Тинькофф сделает оффер в течение трех дней.

Успейте подать заявку до 3 августа: https://l.tinkoff.ru/weekend_offer_mobile

Работа в команде Тинькофф — это не только возможность стать частью экспертного комьюнити мобильных разработчиков, но и развивать флагманские продукты. Например, Мобильный Банк, Тинькофф Бизнес и другие проекты.
🤔Kotlin Developers Survey

Команда Kotlin начинает проводить регулярные опросы про качество работы различных подсистем языка: компилятора, IDE, библиотек. Расскажите про все проблемы, с которыми вы сталкиваетесь – это сильно поможет команде на следующих планированичх!
Кастомное подчеркивание текста на Compose

- Подчеркивание текста прямой и волнистой линией
- Анимированное подчеркивание
- Выделение слова в баббл
В понедельник уже стартуем новый сезон Podlodka Android Crew!🤖

Напомним, что тема сезона – "Android под капотом"! Будем разбираться с

⚡️Менеджментом памяти Java и сборкой мусора
⚡️Устройством AOSP и IPC
⚡️Компиляторными плагинами и KSP, а еще внутрянкой Kotlin Multiplatform Moblle
⚡️И как всегда Dagger, конечно же!

Купить билеты и посмотреть полное расписание можно на сайте. Ждем на борту!
Полезные советы для дебага

- Перепроверяйте то, что говорят другие, даже если они очень уверены в советах
- Пытайтесь воспроизвести баг в маленьких и простых семплах, а не только в вашем продакшн коде
- Учитесь правильно писать просьбы о помощи
- Если столкнулись с проблемой, откатитесь на версию, где ее не было, и начинайте постепенно менять код, приближая его к сломанному состоянию
Jetpack Compose Accessibility: Semantics

- Почему в Compose есть два дерева – composition и semantics
- Из чего состоит семантическое дерево
- Какие семантические свойства выводятся сами, а какие надо задавать самостоятельно
Compose Image на стероидах

Коллекция Composable и различных хелперов, которые прокачивают работу с ImageBitmap: отображение, манипулирование, изменение масштаба, зум, обрезание.
Создание своей дизайн-системы на Compose

Google предоставляет много готовых Compose компонентов, поддерживающих Material UI. Но их недостаточно, если у продукта есть свой дизайн-язык, и его требуется поддержать. По ссылке вы найдете запись, слайды и дополнительные ссылки отличного доклада с недавнего Droidcon.
Год в продакшне с КММ и 70% реюза кода

- Кейс компании с 24 разработчиками, 2.5 миллионом MAU, 70% переиспользования кода и 99.75% крешфри
- Хранение общего кода в отдельном репозитории
- Использование интерфейсов вместо expect/actual
- Работа с крешами и уменьшение их количества в Kotlin/Native коде
Навигация в мультимодульном приложении на диплинках

- Приложение без Compose, с фиче-модулями и Activity вместо фрагментов
- Реализация обработки диплинков и навигации в нужный модуль
Подкаст про Proguard с его разработчиком

- Как Proguard работает под капотом
- Proguard vs R8
- Runtime оптимизации в Proguard
Обновленные рекомендации по использованию Compose в RecyclerView

Начиная с RecyclerView 1.3.0-alpha02 и Compose UI 1.2.0-beta02, Composables больше не уничтожаются при выходе за границы экрана. Вместо этого они сохраняются и переиспользуются. Благодаря такому подходу исчез большой перфоманс-оверхед из-за необходимости постоянно пересоздавать composables.
DNS-over-HTTPS/3 включен в Android 11 и выше

Большинство сетевых соединений начинаются с запроса к DNS. Исторически сложилось, что эти запросы не шифровались. Начиная с Android 9, Google выкатил фичу DNS-over-TLS, которая закрывает эту проблему, но порождает другие:
- Если первый запрос к серверу резолвится долго, все последующие ждут результата этого резолва, из-за чего общая производительность падает.
- При переходе из сотовой сети в сеть, что происходит при движении довольно часто, соединение рвется и его нужно восстанавливать с нуля, что тоже влияет на перфоманс.

Google вот только что выкатили обновление для всех устройств, начиная с Android 11, с новой фичей – DNS-over-HTTP/3. Она решает все перечисленные проблемы, а в нестабильных сетях работает даже лучше, чем оригинальный DNS. Поддержка протокола уже есть у нескольких ключевых DNS сервисов – Cloudflare и Google DNS.

Короче говоря, если хотите улучшить производительность сети в вашем проекте, проверьте, что ваш DNS сервис поддерживает этот протокол.
Выпуск Подлодки про протоколы и сети

Если вы не очень шарите в сетях и протоколах, но хотели бы разобраться – мы сравнительно недавно записали выпуск Подлодки из двух частей, где на пальцах разобрали, как работают современные сети, из каких этапов состоит сетевой запрос, и в целом как работает интернет.
- Часть 1
- Часть 2
Positional memoization in Jetpack Compose

Простое объяснение того, как Compose кеширует информацию о Composable в дереве элементов. Понимание механики поможет вам не совершать ошибок, из-за которых дерево будет пересчитываться чаще, чем действительно нужно.

А если вы захотите более подробного разбора, обязательно посмотрите старую статью от Leland Richardson, одного из авторов фреймворка.
Как сохранить стейт UI в Compose при смене ориентации

Разбор двух подходов к сохранению UI стейта при смене ориентации или пересоздании Activity.
- Сохранение объектов с помощью kotlin-parcelable
- Реализация mapSaver`/`listSaver функции для тех случаев, когда использование Parcelable не подходит