Mirakle - Gradle плагин для переноса процесса сборки на удаленную машину. Поможет тем кто не хочет носить с собой большой мощный ноутбук (актуально ли это с чипами Apple M1?) и иметь отдельную мощную машину где-то. Учтите, что без быстрого интернета вам не обойтись.
При использовании Room Android разработчики зачастую использую реактивные стримы (RxJava, Coroutines Flow) для получения всех изменений в данных. Важная особенность этого процесса, что при вставке любых данных выполняется повторный запрос в БД. В статье разбирается как можно оптимизировать это.
Полноценно сделать это не получилось, также автор не разобрал что будет в случае выполнения транзакций.
Популярность всегда преследуется мифами. Так случилось и с Android. Разработчики, которые давно в этой ОС помнят о старых оптимизациях на уровне Java кода из первых версий Android. В статье разрушают современные мифы: 👉 Приложения на Kotlin больше и медленнее, чем приложения на Java 👉 Геттеры и сеттеры обходятся дорого 👉 Лямбда-выражения медленнее, чем внутренние классы 👉 Аллоцирование объектов — дорогое удовольствие, лучше использовать пулы 👉 Профилирование моего отлаживаемого приложения — это хорошая идея а также другие странности
Оптимизация и обфускация кода, который уходит в Production, - очень важный этап поставки клиентских приложений. Это уменьшает размер приложения, ускоряет его работы и обеспечивает дополнительную безопасность.
Статья охватывает все важные аспекты оптимизации сборки: 👉 Зачем использовать эти инструменты 👉 Как работает ProGuard/R8 👉 Оптимизация ресурсов Android приложения 👉 D8/R8
Статья очень толковая, подробно разбирает все аспекты. Рекомендую к прочтению. Автору респект!
Получить хорошее руководство по погружению в автоматизированное тестирование - это непросто. Google в своих гайдах задевает только тему специфики под Android, не рассказывая о базисах.
В статье (она немаленькая) раскладывается все по полочкам: базисы и особенности тестирование под Android. Вы сможете понять основные понятия и как тесты реализуются при разработки в Android
Документация по Permissions была обновлена на официальном сайте Android Developers. Теперь она содержит подробные описания: 👉 как правильно запрашивать разрешения в Runtime 👉 как работать если пользователь отказал в получении разрешения 👉 какие подходы использовать, чтобы объяснить, зачем вашему приложению вообще нужно какое-то разрешение 👉 Новый способ получения разрешение через новое ActivityResult API из androidx.activity 1.2.0 👉Разрешения для приложений по умолчанию (звонилка, браузер, лаунчер и др.) 👉Объявление собственных разрешений 👉Лучшие практики по работе с разрешениями
Kotlin - основной язык для разработки под Android, но всё Android SDK написано на Java. Чтобы сделать удобной опыт использования Kotlin в Android максимальным разработчики из Google сделали 2 вещи: 👉 Добавляют аннотации о nullability в Java код 👉 Новые библиотеки Jetpack стараются писать на Kotlin 👉 Для существующих библиотек пишутся Kotlin расширения - KTX
В статье вы найдете больше информации о KTX расширениях, которые помогут вам сократить количество Kotlin кода в Android проекте.
Продолжение серии статей про новую библиотеку App Startup. В новой части рассказывается про то как мигрировать инициализацию WorkManager на App Startup, а также как отложить инициализацию (lazy). Все это подкрепляется оценкой производительности разных подходов.
Усилия Google по упрощению выпуска обновлений для устройства начинают окупаться. Android 11 стал само быстро распространяемой версией Android, а все новые SoC Qualcomm будут получать обновления для 4 версий ОС и 4 года обновлений безопасности.
В статье вы найдете подробности того, что сделали для ускорения обновления в рамках Project Treble
Все мы ждем релиза Jetpack Compose, чтобы насладиться декларативным UI по полной. Приложение Tivi уже мигрировало на Jetpack Compose. По итогу: 👉 Уменьшения размера приложения на 41% 👉 Уменьшение количества методов на 17% 👉 Количества кода в XML уменьшилось на 76% 👉 Время сборки проекта осталось примерно таким же
Надо учесть что все замеры проводились на альфа-версии Compose и к релизу цифры могут поменяться.
Разработчики Badoo делают громкое заявление в названии статьи. В начале года запустили борьбу с ANR в приложении
В первой части серии статей вы найдете: 👉 Что такое ANR и как они возникают 👉 Как отслеживать ANR и как это делает Google Play 👉 Загрузка данных из Google Play Console (официального API нет, но ребята сделали решение) 👉 Как в трекать ANR самостоятельно
Рекомендую обратить внимание на библиотеку ANR-WatchDog для отслеживания ANR
Android SDK содержит свои собственные коллекции, которые призваны оптимизировать использование стандартных коллекций в специфичных для Android задачах.
В статье автор рассказывает о особенностях реализации ArrayMap и SparseArray и как они позволяют оптимизировать расход оперативной памяти и скорость.