#Performance
How we achieved a 6x reduction of ANRs - Part 1: Collecting Data
Разработчики Badoo делают громкое заявление в названии статьи. В начале года запустили борьбу с ANR в приложении
В первой части серии статей вы найдете:
👉 Что такое ANR и как они возникают
👉 Как отслеживать ANR и как это делает Google Play
👉 Загрузка данных из Google Play Console (официального API нет, но ребята сделали решение)
👉 Как в трекать ANR самостоятельно
Рекомендую обратить внимание на библиотеку ANR-WatchDog для отслеживания ANR
How we achieved a 6x reduction of ANRs - Part 1: Collecting Data
Разработчики Badoo делают громкое заявление в названии статьи. В начале года запустили борьбу с ANR в приложении
В первой части серии статей вы найдете:
👉 Что такое ANR и как они возникают
👉 Как отслеживать ANR и как это делает Google Play
👉 Загрузка данных из Google Play Console (официального API нет, но ребята сделали решение)
👉 Как в трекать ANR самостоятельно
Рекомендую обратить внимание на библиотеку ANR-WatchDog для отслеживания ANR
#Jetpack #AndroidStudio
What’s your MAD score?
Google выпустила плагин для Android Studio, чтобы оценить насколько активно вы используете технологии современной Android разработки
Вы сможете создать карточку с оценкой вашего проекта и поделиться ею с друзьями. Инструкция здесь
What’s your MAD score?
Google выпустила плагин для Android Studio, чтобы оценить насколько активно вы используете технологии современной Android разработки
Вы сможете создать карточку с оценкой вашего проекта и поделиться ею с друзьями. Инструкция здесь
#Compose
Jetpack Compose — Before and after
Все мы ждем релиза Jetpack Compose, чтобы насладиться декларативным UI по полной. Приложение Tivi уже мигрировало на Jetpack Compose. По итогу:
👉 Уменьшения размера приложения на 41%
👉 Уменьшение количества методов на 17%
👉 Количества кода в XML уменьшилось на 76%
👉 Время сборки проекта осталось примерно таким же
Надо учесть что все замеры проводились на альфа-версии Compose и к релизу цифры могут поменяться.
Jetpack Compose — Before and after
Все мы ждем релиза Jetpack Compose, чтобы насладиться декларативным UI по полной. Приложение Tivi уже мигрировало на Jetpack Compose. По итогу:
👉 Уменьшения размера приложения на 41%
👉 Уменьшение количества методов на 17%
👉 Количества кода в XML уменьшилось на 76%
👉 Время сборки проекта осталось примерно таким же
Надо учесть что все замеры проводились на альфа-версии Compose и к релизу цифры могут поменяться.
This media is not supported in your browser
VIEW IN TELEGRAM
Сравнение приложения до Compose и после
#Android11
Treble Plus One Equals Four
Усилия Google по упрощению выпуска обновлений для устройства начинают окупаться. Android 11 стал само быстро распространяемой версией Android, а все новые SoC Qualcomm будут получать обновления для 4 версий ОС и 4 года обновлений безопасности.
В статье вы найдете подробности того, что сделали для ускорения обновления в рамках
Treble Plus One Equals Four
Усилия Google по упрощению выпуска обновлений для устройства начинают окупаться. Android 11 стал само быстро распространяемой версией Android, а все новые SoC Qualcomm будут получать обновления для 4 версий ОС и 4 года обновлений безопасности.
В статье вы найдете подробности того, что сделали для ускорения обновления в рамках
Project Treble
#GooglePlay #AndroidAuto
Opening the Google Play Store for more car apps
2 месяца назад Google открыла доступ доступ к библиотеке для разработки приложений для Android Auto. Теперь можно публиковать приложения в закрытые треки Google Play.
Opening the Google Play Store for more car apps
2 месяца назад Google открыла доступ доступ к библиотеке для разработки приложений для Android Auto. Теперь можно публиковать приложения в закрытые треки Google Play.
#Jetpack #AppStartup
App Startup, Part 2
Продолжение серии статей про новую библиотеку App Startup. В новой части рассказывается про то как мигрировать инициализацию
App Startup, Part 2
Продолжение серии статей про новую библиотеку App Startup. В новой части рассказывается про то как мигрировать инициализацию
WorkManager
на App Startup, а также как отложить инициализацию (lazy). Все это подкрепляется оценкой производительности разных подходов.#Kotlin #Jetpack #MAD
Using KTX libraries
Kotlin - основной язык для разработки под Android, но всё Android SDK написано на Java. Чтобы сделать удобной опыт использования Kotlin в Android максимальным разработчики из Google сделали 2 вещи:
👉 Добавляют аннотации о nullability в Java код
👉 Новые библиотеки Jetpack стараются писать на Kotlin
👉 Для существующих библиотек пишутся Kotlin расширения - KTX
В статье вы найдете больше информации о KTX расширениях, которые помогут вам сократить количество Kotlin кода в Android проекте.
Using KTX libraries
Kotlin - основной язык для разработки под Android, но всё Android SDK написано на Java. Чтобы сделать удобной опыт использования Kotlin в Android максимальным разработчики из Google сделали 2 вещи:
👉 Добавляют аннотации о nullability в Java код
👉 Новые библиотеки Jetpack стараются писать на Kotlin
👉 Для существующих библиотек пишутся Kotlin расширения - KTX
В статье вы найдете больше информации о KTX расширениях, которые помогут вам сократить количество Kotlin кода в Android проекте.
#Security #Jetpack
Обновление документации "Permissions"
Документация по Permissions была обновлена на официальном сайте Android Developers. Теперь она содержит подробные описания:
👉 как правильно запрашивать разрешения в Runtime
👉 как работать если пользователь отказал в получении разрешения
👉 какие подходы использовать, чтобы объяснить, зачем вашему приложению вообще нужно какое-то разрешение
👉 Новый способ получения разрешение через новое ActivityResult API из androidx.activity 1.2.0
👉Разрешения для приложений по умолчанию (звонилка, браузер, лаунчер и др.)
👉Объявление собственных разрешений
👉Лучшие практики по работе с разрешениями
Обновление документации "Permissions"
Документация по Permissions была обновлена на официальном сайте Android Developers. Теперь она содержит подробные описания:
👉 как правильно запрашивать разрешения в Runtime
👉 как работать если пользователь отказал в получении разрешения
👉 какие подходы использовать, чтобы объяснить, зачем вашему приложению вообще нужно какое-то разрешение
👉 Новый способ получения разрешение через новое ActivityResult API из androidx.activity 1.2.0
👉Разрешения для приложений по умолчанию (звонилка, браузер, лаунчер и др.)
👉Объявление собственных разрешений
👉Лучшие практики по работе с разрешениями
#Testing
Быстрый старт: гайд по автоматизированному тестированию для Android-разработчика. JVM
Получить хорошее руководство по погружению в автоматизированное тестирование - это непросто. Google в своих гайдах задевает только тему специфики под Android, не рассказывая о базисах.
В статье (она немаленькая) раскладывается все по полочкам: базисы и особенности тестирование под Android. Вы сможете понять основные понятия и как тесты реализуются при разработки в Android
Быстрый старт: гайд по автоматизированному тестированию для Android-разработчика. JVM
Получить хорошее руководство по погружению в автоматизированное тестирование - это непросто. Google в своих гайдах задевает только тему специфики под Android, не рассказывая о базисах.
В статье (она немаленькая) раскладывается все по полочкам: базисы и особенности тестирование под Android. Вы сможете понять основные понятия и как тесты реализуются при разработки в Android
👍1
#Security #ProGuard #R8
Оптимизация сборок Android приложений: ProGuard, D8, R8. Тайны обфускации
Оптимизация и обфускация кода, который уходит в Production, - очень важный этап поставки клиентских приложений. Это уменьшает размер приложения, ускоряет его работы и обеспечивает дополнительную безопасность.
Статья охватывает все важные аспекты оптимизации сборки:
👉 Зачем использовать эти инструменты
👉 Как работает ProGuard/R8
👉 Оптимизация ресурсов Android приложения
👉 D8/R8
Статья очень толковая, подробно разбирает все аспекты. Рекомендую к прочтению. Автору респект!
Оптимизация сборок Android приложений: ProGuard, D8, R8. Тайны обфускации
Оптимизация и обфускация кода, который уходит в Production, - очень важный этап поставки клиентских приложений. Это уменьшает размер приложения, ускоряет его работы и обеспечивает дополнительную безопасность.
Статья охватывает все важные аспекты оптимизации сборки:
👉 Зачем использовать эти инструменты
👉 Как работает ProGuard/R8
👉 Оптимизация ресурсов Android приложения
👉 D8/R8
Статья очень толковая, подробно разбирает все аспекты. Рекомендую к прочтению. Автору респект!
#Gradle
Gradle Doctor - это плагин, который анализирует конфигурацию Gradle и определят ошибки в конфигурации, тормозящие скорость сборки
Gradle Doctor - это плагин, который анализирует конфигурацию Gradle и определят ошибки в конфигурации, тормозящие скорость сборки
#Kotlin
Kotlin Delegation by Inception
Разбор делегатов из Kotlin на примерах упрощения различных задач Android разработки:
👉 Получение значение из Bundle
👉 Работа с Intent
👉 Работа с View
Kotlin Delegation by Inception
Разбор делегатов из Kotlin на примерах упрощения различных задач Android разработки:
👉 Получение значение из Bundle
👉 Работа с Intent
👉 Работа с View
#Performance
Разрушаем мифы о производительности Android
Популярность всегда преследуется мифами. Так случилось и с Android. Разработчики, которые давно в этой ОС помнят о старых оптимизациях на уровне Java кода из первых версий Android. В статье разрушают современные мифы:
👉 Приложения на Kotlin больше и медленнее, чем приложения на Java
👉 Геттеры и сеттеры обходятся дорого
👉 Лямбда-выражения медленнее, чем внутренние классы
👉 Аллоцирование объектов — дорогое удовольствие, лучше использовать пулы
👉 Профилирование моего отлаживаемого приложения — это хорошая идея
а также другие странности
Разрушаем мифы о производительности Android
Популярность всегда преследуется мифами. Так случилось и с Android. Разработчики, которые давно в этой ОС помнят о старых оптимизациях на уровне Java кода из первых версий Android. В статье разрушают современные мифы:
👉 Приложения на Kotlin больше и медленнее, чем приложения на Java
👉 Геттеры и сеттеры обходятся дорого
👉 Лямбда-выражения медленнее, чем внутренние классы
👉 Аллоцирование объектов — дорогое удовольствие, лучше использовать пулы
👉 Профилирование моего отлаживаемого приложения — это хорошая идея
а также другие странности
Да кто такой этот ваш Mobile DevOps?
Есть ли такой человек как Mobile DevOps? Нужен ли он команде? За чем он следит и кака от него польза? Ответы в статье
Есть ли такой человек как Mobile DevOps? Нужен ли он команде? За чем он следит и кака от него польза? Ответы в статье
Реализовывали поддержку Android Enterprise в production приложениях?
Anonymous Poll
5%
Да
20%
Нет
68%
Что это?
8%
Не участвую в опросе
#SQLite #Performance
Android Room Hidden Costs
При использовании Room Android разработчики зачастую использую реактивные стримы (RxJava, Coroutines Flow) для получения всех изменений в данных. Важная особенность этого процесса, что при вставке любых данных выполняется повторный запрос в БД. В статье разбирается как можно оптимизировать это.
Полноценно сделать это не получилось, также автор не разобрал что будет в случае выполнения транзакций.
Android Room Hidden Costs
При использовании Room Android разработчики зачастую использую реактивные стримы (RxJava, Coroutines Flow) для получения всех изменений в данных. Важная особенность этого процесса, что при вставке любых данных выполняется повторный запрос в БД. В статье разбирается как можно оптимизировать это.
Полноценно сделать это не получилось, также автор не разобрал что будет в случае выполнения транзакций.
Как правильно идентифицировать Android-устройства
Вопрос уникальной идентификации устройства/пользователя зачастую стоит при разработке приложений. Все хотят собрать много данных, независимо от сервисов аналитик.
В статье автор разбирает различные подходы к идентификации пользователя в современной Android разработке с учетом всех ограничений. Обратите внимание на 2 библиотеки: Android-device-identification и Fingerprint-android.
Вопрос уникальной идентификации устройства/пользователя зачастую стоит при разработке приложений. Все хотят собрать много данных, независимо от сервисов аналитик.
В статье автор разбирает различные подходы к идентификации пользователя в современной Android разработке с учетом всех ограничений. Обратите внимание на 2 библиотеки: Android-device-identification и Fingerprint-android.
#Стажировка
Как устроены технические стажировки Авито
У вас есть возможность получить опыт работы в одной из крутейшей компании России, научиться работать в Scrum. Помимо всего прочего стажировка оплачиваемая , удаленная и вас будет свой наставник - инженер из Авито. Вы будете решать боевые задачи с первого дня!
Все позиции на стажировку можно найти здесь. После успешной стажировки вы сможете стать полноценным сотрудником Авито.
Как устроены технические стажировки Авито
У вас есть возможность получить опыт работы в одной из крутейшей компании России, научиться работать в Scrum. Помимо всего прочего стажировка оплачиваемая , удаленная и вас будет свой наставник - инженер из Авито. Вы будете решать боевые задачи с первого дня!
Все позиции на стажировку можно найти здесь. После успешной стажировки вы сможете стать полноценным сотрудником Авито.