Вышло ежегодное исследование популярности команд Android разработки
Android Broadcast заслуженно занял первое место 🔥. Долгие годы мы уже с вами тут обсуждаем новости и разные события, вы смотрите ролики и поддерживаете меня. Уже больше 4 лет.
Спасибо всем вам что вы тут, голосовали за проект и меня лично. Дальше только больше!
Рад что высоко оценили Лешу Гладкова и его канал "Mobile Developer"
Android Broadcast заслуженно занял первое место 🔥. Долгие годы мы уже с вами тут обсуждаем новости и разные события, вы смотрите ролики и поддерживаете меня. Уже больше 4 лет.
Спасибо всем вам что вы тут, голосовали за проект и меня лично. Дальше только больше!
Рад что высоко оценили Лешу Гладкова и его канал "Mobile Developer"
🔥153🏆31👍13❤2⚡2😁2🤔1🤯1
Одна из крутых фичей Jetpack CameraX - это огромная тестовая лаборатория под названием CameraX Test Lab. Сейчас в ней порядка 150 устройств с Android 5.1 и выше. Также в статье рассказали про Camera Image Test Suite - набор тестов для OEM производителей камеры, чтобы проверить их соответствие базовым требованиям.
Механизм Quirk - слой абстракции в котором правятся особенности поведения камеры на различных устройствах. Также осветили как CameraX поддерживает складные устройства
Все подробности в статье
#jetpack #camera
Механизм Quirk - слой абстракции в котором правятся особенности поведения камеры на различных устройствах. Также осветили как CameraX поддерживает складные устройства
Все подробности в статье
#jetpack #camera
👍24😁4🤔1
Мой коллега из инфраструктурной команды - Саша Гузенко @Jacks0n23, написал небольшой скрипт для миграции проекта на namespace вместо package в AndroidManifest
📌 Зачем нужен скрипт?
В Android Studio, в Assistant Migrator добавили возможность автоматически заменить package в AndroidManifest на namespace в Gradle. Но вот нюанс - он заменяет только в application модулях. Хотя Google рекомендует такой подход и для library модулей.
🚀 Как воспользоваться?
Это обычный Python скрипт, так что можно просто скопировать и запустить его через консоль, передав ему полный локальный путь до папки с проектом. В конце ещё запустить поверх ассистент миграции, чтобы удалить дубликаты package name из других buildType и flavour, потому что скрипт смотрит только main соурс сет. Ну и не забывайте сделать форматирование кода (macOS CMD+ Shift + L) перед коммитом на всех измененных файлах, чтобы по красоте структура стала.
Саша ведет интересный подкаст "Кем ты стал" про профессии в IT индустрии. Подписывайтесь и слушайте!
Послушайте выпуск со мной - про Android разработку и личный бренд.
📌 Зачем нужен скрипт?
В Android Studio, в Assistant Migrator добавили возможность автоматически заменить package в AndroidManifest на namespace в Gradle. Но вот нюанс - он заменяет только в application модулях. Хотя Google рекомендует такой подход и для library модулей.
🚀 Как воспользоваться?
Это обычный Python скрипт, так что можно просто скопировать и запустить его через консоль, передав ему полный локальный путь до папки с проектом. В конце ещё запустить поверх ассистент миграции, чтобы удалить дубликаты package name из других buildType и flavour, потому что скрипт смотрит только main соурс сет. Ну и не забывайте сделать форматирование кода (macOS CMD+ Shift + L) перед коммитом на всех измененных файлах, чтобы по красоте структура стала.
Саша ведет интересный подкаст "Кем ты стал" про профессии в IT индустрии. Подписывайтесь и слушайте!
Послушайте выпуск со мной - про Android разработку и личный бренд.
👍13😁1
📺 Accurately measure app performance with profileable builds (6 мин)
Чтобы полноценно оценить производительность вашего приложения нужно это делать на релизных сборках, но к ним не подключить профайлер. Теперь это можно сделать на релизных сборках с помощью добавления специального тега <profileable> в AndroidManifest. Фича работает на Android 10+. На видео к посту увидите сравнение производительности таких сборок
AGP 8.0 + Android Studio Flamingo (CANARY) будут поддерживать это полноценно, но можно сделать и без нее руками на текущей версии Android Studio и AGP (инструкция в видео или текстом на сайте)
#performance #androidstudio #androiddevsummit
Чтобы полноценно оценить производительность вашего приложения нужно это делать на релизных сборках, но к ним не подключить профайлер. Теперь это можно сделать на релизных сборках с помощью добавления специального тега <profileable> в AndroidManifest. Фича работает на Android 10+. На видео к посту увидите сравнение производительности таких сборок
AGP 8.0 + Android Studio Flamingo (CANARY) будут поддерживать это полноценно, но можно сделать и без нее руками на текущей версии Android Studio и AGP (инструкция в видео или текстом на сайте)
#performance #androidstudio #androiddevsummit
👍25😁1
Те кто очень хотел интегрировать себе Material 3 в приложение на Jetpack Compose возрадуйтесь - вышла первая стабильная версия. Включает в себя цветовую схему, динамические цвета, множество Material компонентов, стили текстов, shape и др.
Полезные ссылки
👉 Пример на M3 и Compose
👉 Руководство по Material 3
👉 Руководство по миграции с M2 на M3
Полезные ссылки
👉 Пример на M3 и Compose
👉 Руководство по Material 3
👉 Руководство по миграции с M2 на M3
👍16😁10🤔1
Опыт интеграции Material 3 (Material You) в Now in Android
Последнее демонстрационное приложение Google - Now in Android, полностью написанное на Jetpack Compose и Material 3. В статье рассказывается про разработку дизайна, наработки Figma, плагины и прочая история
Последнее демонстрационное приложение Google - Now in Android, полностью написанное на Jetpack Compose и Material 3. В статье рассказывается про разработку дизайна, наработки Figma, плагины и прочая история
👍27🤔3😁1
Интересная статья про разрешение экрана
Рассказывается про Exchangeable Image File Format (EXIF), работа c разрешением в iOS и Android, поддержка разрешений и плотности в Figma и Photoshop
Рассказывается про Exchangeable Image File Format (EXIF), работа c разрешением в iOS и Android, поддержка разрешений и плотности в Figma и Photoshop
🔥15👍1
Сталкивались ли с TransactionTooLargeException? Например, при сохранении состояния Activity. Автор статьи разбирается в механизмах IPC и Binder, неправильная работа с которыми приводит к ошибке.
#androidos
#androidos
👍23⚡1
Как в Android запрещали фоновую работу и улучшали расход батареи
Разбор истории изменений в Android OS касательно выполнения задач в фоне и экономии заряда батареи, начиная с Android 5.0 и до Android 13
#androidos #androidbroadcast
Разбор истории изменений в Android OS касательно выполнения задач в фоне и экономии заряда батареи, начиная с Android 5.0 и до Android 13
#androidos #androidbroadcast
👍44🔥12🤯8😁2🤔2⚡1❤1
5 полезных фичей Google Play Console, которые помогут вам оценить качество доставляемой сборки:
👉 Размер файла для загрузки при установке приложения и обновления с предыдущей версии
👉 В статистике есть отдельная информация про доставка ассетов через Play Asset Delivery и фичей через Play Feature Delivery
👉 В информации о последней релизнутой версии можно увидеть какая часть аудитории обновилась до нее
👉 Для каждого AAB (Android App Bundle) можно увидеть размер сборки для каждой модели устройства в App bundle explorer
👉 Множество из этих метрик можно посмотреть в App Dashboard и не лазить в отдельные разделы
👉 Размер файла для загрузки при установке приложения и обновления с предыдущей версии
👉 В статистике есть отдельная информация про доставка ассетов через Play Asset Delivery и фичей через Play Feature Delivery
👉 В информации о последней релизнутой версии можно увидеть какая часть аудитории обновилась до нее
👉 Для каждого AAB (Android App Bundle) можно увидеть размер сборки для каждой модели устройства в App bundle explorer
👉 Множество из этих метрик можно посмотреть в App Dashboard и не лазить в отдельные разделы
👍18🤔2😁1
На этой неделе прошел первый день Android Dev Summit'22. К сожалению, я пока успел посмотреть только пару видео оттуда ( Также началась серия мастер классов по использованию Kotlin Multiplatform Mobile (KMM)
📺 Новости мобильной разработки и технологий от Кирилла (публично, 23 мин)
📺 Modern Android Development | Android Dev Summit '22 (31 видео)
📺 Let's Migrate an XML Project to Jetpack Compose! (16 мин)
📺 Making Your Android Application Work on iOS | Kotlin Multiplatform Mobile Beta (2 часа)
📺 Full Guide to Jetpack Compose Animations - Android Studio Tutorial (30 мин)
📺 Getting started with Kotlin Multiplatform Mobile | KMM Beta (1.5 часа)
📺 Разбор кода Pocket Casts (1.5 часа)
#подборкавидео
📺 Новости мобильной разработки и технологий от Кирилла (публично, 23 мин)
📺 Modern Android Development | Android Dev Summit '22 (31 видео)
📺 Let's Migrate an XML Project to Jetpack Compose! (16 мин)
📺 Making Your Android Application Work on iOS | Kotlin Multiplatform Mobile Beta (2 часа)
📺 Full Guide to Jetpack Compose Animations - Android Studio Tutorial (30 мин)
📺 Getting started with Kotlin Multiplatform Mobile | KMM Beta (1.5 часа)
📺 Разбор кода Pocket Casts (1.5 часа)
#подборкавидео
👍16🤔4😁1
Android Broadcast - это не только @android_broadcast, но и другие места где можно прокачиваться мобильным разработчиков
📣 Мы в Telegram
@kotlin_broadcast - всё о Kotlin, KMM, а также квизы на знание языка
@ios_broadcast - Все за что вы любите но только по iOS
@android_broadcast_talks - уютное сообщество, где обсуждаем Android разработку
📺 Наш YouTube канал - видео по Android разработке, интервью с экспертами, моковые собесы и код ревью проектов и прочее.
👨🎓 YouTube канал - это также и площадка, где вы можете выступить. Темы по которым мы ищем экспертов здесь, либо предложить свою можно здесь. За подробностями пишите на kirill@androidbroadcast.dev
🎧 Часть выпусков можно еще послушать и в виде подкастов на популярных площадках
📣 Мы в Telegram
@kotlin_broadcast - всё о Kotlin, KMM, а также квизы на знание языка
@ios_broadcast - Все за что вы любите но только по iOS
@android_broadcast_talks - уютное сообщество, где обсуждаем Android разработку
📺 Наш YouTube канал - видео по Android разработке, интервью с экспертами, моковые собесы и код ревью проектов и прочее.
👨🎓 YouTube канал - это также и площадка, где вы можете выступить. Темы по которым мы ищем экспертов здесь, либо предложить свою можно здесь. За подробностями пишите на kirill@androidbroadcast.dev
🎧 Часть выпусков можно еще послушать и в виде подкастов на популярных площадках
👍8🔥3😁3🤔3
Что вы знаете про AsyncLayoutInflater?
Anonymous Poll
7%
Использовал(а) в проектах
32%
Знаю, но не использовал(а)
56%
Что это?
1%
Не пишу под Android
5%
Не участвую в опросе
🤔8🤯3👍2😁1🏆1
Пример разработки виджета колеса для выбора цвета для чайников и добавить больше нечего. Хотите узнать подробнее про Custom View, то смотрите серию видео на моем канале
👍45🤔2😁1🎉1
OkLayoutInflater - прокачанный AsyncLayoutInflter на корутинах. AsyncLayoutInflater позволяет перенести inflate layout ресурс в фоновые поток, тем самым разгрузив его от блокирующего вызова LayoutInflter.inflate на главном/UI потоке приложения. Авторы решили написать свою версию, добавив ей:
👉 Поддержка корутин
👉 Парсинг на нескольких фоновых потоках (AsyncLayoutInflater работает в одном фоновом потоке)
👉 Подружили с жизненным циклом
👉 Добавили поддержку LayoutInflater.Factory2
Авторы добились уменьшения фризов до 30% на отдельных экранах и 23% в среднем
💻 Исходный код на GitHub
#coroutine
👉 Поддержка корутин
👉 Парсинг на нескольких фоновых потоках (AsyncLayoutInflater работает в одном фоновом потоке)
👉 Подружили с жизненным циклом
👉 Добавили поддержку LayoutInflater.Factory2
Авторы добились уменьшения фризов до 30% на отдельных экранах и 23% в среднем
💻 Исходный код на GitHub
#coroutine
🤔42👍24🔥7😁1
Pixel 7 и 7 Pro стали первыми устройствами на Android, которые поддерживаю только 64-битные приложения. Это значит что если у вас есть нативные библиотеки под x32, то новые телефоны Google не смогут из запустить так как не поддерживают эмуляцию инструкций
Зачем нужно было так делать? По заявлением Google это приводит к:
👉 Уменьшению расхода памяти
👉 Улучшает производительность
👉 Делает устройства безопаснее
x64 нативные либы стали обязательным требованием еще в 2019, так что отвалится должны только те приложения, автором которых уже давно все равно на них. Также в Google ожидают что их примеру последуют производители других устройства на Android. Думаю что флагманы Samsung будут с такой же фичей.
Что вы думаете об это нововведении? Делитесь в комментариях
Зачем нужно было так делать? По заявлением Google это приводит к:
👉 Уменьшению расхода памяти
👉 Улучшает производительность
👉 Делает устройства безопаснее
x64 нативные либы стали обязательным требованием еще в 2019, так что отвалится должны только те приложения, автором которых уже давно все равно на них. Также в Google ожидают что их примеру последуют производители других устройства на Android. Думаю что флагманы Samsung будут с такой же фичей.
Что вы думаете об это нововведении? Делитесь в комментариях
👍56🤔6😁2
Optimize for Android (Go edition): Lessons from Google apps Part 3
Разбор инструментов для анализа производительности приложения: анализ потребления RAM, Perfetto, Memory Profiler, meminfo, Address Sanitizer, CPU Profiler и другие. Берите на заметку для слабых устройств и производительных
#androidgo #performance #androidstudio
Разбор инструментов для анализа производительности приложения: анализ потребления RAM, Perfetto, Memory Profiler, meminfo, Address Sanitizer, CPU Profiler и другие. Берите на заметку для слабых устройств и производительных
#androidgo #performance #androidstudio
👍13
This media is not supported in your browser
VIEW IN TELEGRAM
CreditCardView - библиотека для создания UI для повторения реальной кредитной карточки
👍70🔥10😁5🤔5
Что там по автотестам на Android в 2022?
Женя "Kaspresso" Мацюк рассказывает про результаты опроса 30 команд (Spotify, Revolut, Badoo, Авто.ру, Sber, HH и другие) на тему автотестов. Результаты в статье
Женя "Kaspresso" Мацюк рассказывает про результаты опроса 30 команд (Spotify, Revolut, Badoo, Авто.ру, Sber, HH и другие) на тему автотестов. Результаты в статье
👍31🤔6🔥2😁1