#Gradle #Performance
Optimize the build speed for your Android project
Извечная тема - Gradle и скорость сборки. Очередная статья которая напоминает что сделать, чтобы не проводить много времени ожидая сборки проекта.
Что стоит добавить в
👉
👉
👉
👉
👉
👉
А еще советы:
👉 Отключить
👉 Отключить загрузку Firebase mapping где не нужно
Optimize the build speed for your Android project
Извечная тема - Gradle и скорость сборки. Очередная статья которая напоминает что сделать, чтобы не проводить много времени ожидая сборки проекта.
Что стоит добавить в
gradle.properties
👉
org.gradle.configureondemand=true
👉
kapt.use.worker.api = true
👉
org.gradle.parallel=true
👉
org.gradle.caching=true
👉
room.incremental = true
👉
org.gradle.unsafe.watch-fs=true
А еще советы:
👉 Отключить
crunchPngs
👉 Отключить загрузку Firebase mapping где не нужно
#AndroidBroadcast
Android Broadcast совместно с Avito.tech разработали стикерпак. Заветы Джейка, RxJava, Kotlin, Jetpack. Все это можно найти в стикерах.
Android Broadcast совместно с Avito.tech разработали стикерпак. Заветы Джейка, RxJava, Kotlin, Jetpack. Все это можно найти в стикерах.
#AndroidBroadcast
Помимо всего еще появились и интересные Zoom фоны от Android Broadcast! 🔥🔥🔥
Скачать фоны в высоком качестве можно ➡️ здесь
Помимо всего еще появились и интересные Zoom фоны от Android Broadcast! 🔥🔥🔥
Скачать фоны в высоком качестве можно ➡️ здесь
#Gradle #Performance
The proper care and feeding of your Gradle build
В дополнение к вчерашнему посту об оптимизации Gradle сборки Android проектов рекомендую еще уделить внимание и анализу зависимостей и плагинов вашего проекта.
В статье разбирается Dependency Analysis Gradle Plugin. Плагин поможет понять вам:
👉 Есть ли у вас в проекте неиспользуемые зависимости
👉 Если ли у вас неиспользуемые процессоры аннотаций
👉 Правильно ли вы объявляете зависимости
👉 Используете ли вы транзитивные зависимости, которые лучше объявить явно
👉 Все ли плагины используются?
The proper care and feeding of your Gradle build
В дополнение к вчерашнему посту об оптимизации Gradle сборки Android проектов рекомендую еще уделить внимание и анализу зависимостей и плагинов вашего проекта.
В статье разбирается Dependency Analysis Gradle Plugin. Плагин поможет понять вам:
👉 Есть ли у вас в проекте неиспользуемые зависимости
👉 Если ли у вас неиспользуемые процессоры аннотаций
👉 Правильно ли вы объявляете зависимости
👉 Используете ли вы транзитивные зависимости, которые лучше объявить явно
👉 Все ли плагины используются?
DEV Community
The proper care and feeding of your Gradle build
Maintain a healthy build with the Dependency Analysis Gradle Plugin. Optimize your dependency graph and remove redundant plugins.
#Dagger #Hilt #DependencyInjection
Scoping in Android and Hilt
В Dagger мы привыкли работать с Subcomponent и делать разные Scope, для того чтобы управлять жизнью отдельных объектов графа. В Hilt нас ждут перемены работы с графом и это задело Scope тоже
В статье происходит разбор того как создать Scope для ViewModel при использовании Hilt
Scoping in Android and Hilt
В Dagger мы привыкли работать с Subcomponent и делать разные Scope, для того чтобы управлять жизнью отдельных объектов графа. В Hilt нас ждут перемены работы с графом и это задело Scope тоже
В статье происходит разбор того как создать Scope для ViewModel при использовании Hilt
Medium
Scoping in Android and Hilt
Scoping an object A to another object B means that throughout the lifecycle of B, it’ll always have the same instance of A. When it comes…
#Kotlin #Native
Kotlin/Native Memory Management Roadmap
В Kotlin/Native изменится модель управления памятью, чтобы избавиться от ограничений, которые сейчас накладываются на параллельное программирование. Изменения пока еще находятся на стадии проектирования и текущая модель останется работать.
Kotlin/Native Memory Management Roadmap
В Kotlin/Native изменится модель управления памятью, чтобы избавиться от ограничений, которые сейчас накладываются на параллельное программирование. Изменения пока еще находятся на стадии проектирования и текущая модель останется работать.
The JetBrains Blog
Kotlin/Native Memory Management Roadmap | The Kotlin Blog
TL;DR: The current automatic memory management implementation in Kotlin/Native has limitations when it comes to concurrency and we are working on a replacement. Existing code will continue to work and
Как правильно назвать того, кто разрабатывает приложения под Android?
Final Results
74%
Android разработчик
13%
Разработчик под Android
6%
Android инженер
0%
Другой вариант (пищите в @android_broadcast_talks)
6%
Не участвую
#BatteryOptimization #OEM
The Bifurcation Of Android
Производителя устройств творят что угодно при разработке собственных прошивок. Нет Android разработчика, который не столкнулся с тем что стандартное поведение Android расходится с реализацией производителя.
В особенности приходится страдать из-за агрессивного убийства процессов в фоне, правда это справедливо не для всех. Часть предустановленных приложений или тех кто смог договориться попадают в white list. Как быть простому разработчику?
В статье вы найдете историю борьбы разработчика с производителем устройств и что Google предпринимает для того, чтобы приструнить создателей смартфонов
The Bifurcation Of Android
Производителя устройств творят что угодно при разработке собственных прошивок. Нет Android разработчика, который не столкнулся с тем что стандартное поведение Android расходится с реализацией производителя.
В особенности приходится страдать из-за агрессивного убийства процессов в фоне, правда это справедливо не для всех. Часть предустановленных приложений или тех кто смог договориться попадают в white list. Как быть простому разработчику?
В статье вы найдете историю борьбы разработчика с производителем устройств и что Google предпринимает для того, чтобы приструнить создателей смартфонов
Medium
The Bifurcation Of Android
How the emergence of a dual-class app permission structure is handicapping developers in Africa
#Dagger #Hilt #Migration
Migrating the Google I/O app to Hilt
Google перевела приложение Google I/O на Hilt и результаты впечатляющие - убрали 1500 строк кода. Миграцию выполняли с
Migrating the Google I/O app to Hilt
Google перевела приложение Google I/O на Hilt и результаты впечатляющие - убрали 1500 строк кода. Миграцию выполняли с
dagger.android
. Тем кто готов уже пробовать альфу - можете использовать как гайд, а исходники приложения как примерMedium
Migrating the Google I/O app to Hilt
Hilt is the new library built on top of Dagger that simplifies Dependency Injection (DI) in Android apps. But, how much does it simplify…
#Paging #RecyclerView
Paging with Paging 3
Рассказа про следующую версию Paging библиотеки, которая добавляет все хотелки разработчиков. Больше деталей и примеров в видео и статье
Paging with Paging 3
Рассказа про следующую версию Paging библиотеки, которая добавляет все хотелки разработчиков. Больше деталей и примеров в видео и статье
YouTube
Paging with Paging 3
The Paging library enables you to load large sets of data gradually and gracefully, reducing network usage and system resources. So we launched Paging 3.0 (now in alpha), a complete rewrite of the Paging 2 library using Kotlin coroutines (but still supporting…
#R8
Для тех кто обновился до
Версия
Ошибка исправлена в
Для тех кто обновился до
AGP 4.0
то могли столкнуться с новыми багами в R8, инструментом для минификации и обфускации кода.Версия
R8 2.0.88
, которая используется по умолчанию в AGP 4.0.1
, генерирует байткод с проблемама при процессинге suspend функцийОшибка исправлена в
R8 2.1.52
. Ниже пример кода как обновить R8 ⬇️#UML
UML для самых маленьких: диаграмма классов
Автор статьи даёт новичкам теоретическую базу по UML-диаграммам для структуризации дерева классов в проекте. Диаграммы, благодаря общепринятым правилам, помогают более наглядно увидеть взаимоотношения и зависимости между моделями и абстракциями, а так же отображают структуру самого класса. Автор рекомендует составить подобную диаграмму прежде чем начинать любой новый проект, дабы предотвратить разногласия и непонимание структуры моделей всего проекта.
UML для самых маленьких: диаграмма классов
Автор статьи даёт новичкам теоретическую базу по UML-диаграммам для структуризации дерева классов в проекте. Диаграммы, благодаря общепринятым правилам, помогают более наглядно увидеть взаимоотношения и зависимости между моделями и абстракциями, а так же отображают структуру самого класса. Автор рекомендует составить подобную диаграмму прежде чем начинать любой новый проект, дабы предотвратить разногласия и непонимание структуры моделей всего проекта.
Хабр
UML для самых маленьких: диаграмма классов
Аве, Кодер! Диаграмма классов UML иллюстрирует структуру системы, описывая классы, их атрибуты, методы и отношения между объектами. Даже самые малые детки знают, что UML происходит от...
#AnroidX
Релиз AndroidX от 22.07.2020
Новые релиз обновлений нам принес:
👉 Стабильный WorkManager 2.4.0 (о них ниже)
👉 AndroidX Core 1.3.1 с исправлением бага c Typeface на Android 10
👉 Lifecycle 2.3.0-alpha06 получил пачку интересных изменений (о них ниже)
👉 Room 2.3.0-alpha02 получил поддержку RxJava 3 и включил инкрементальный процессинг по умолчанию
👉 Множество новых альфа-версий других библиотек
Релиз AndroidX от 22.07.2020
Новые релиз обновлений нам принес:
👉 Стабильный WorkManager 2.4.0 (о них ниже)
👉 AndroidX Core 1.3.1 с исправлением бага c Typeface на Android 10
👉 Lifecycle 2.3.0-alpha06 получил пачку интересных изменений (о них ниже)
👉 Room 2.3.0-alpha02 получил поддержку RxJava 3 и включил инкрементальный процессинг по умолчанию
👉 Множество новых альфа-версий других библиотек
Android Developers
Recent Release Notes | Android Developers
#WorkManager
WorkManager 2.4.0
👉 Больше возможностей для планировщика
👉 Поддержка RxJava3
👉 Возможность получить WorkInfo, используя WorkQuery.
👉 Возможность получить диагностическую информацию о работе WorkManager
👉 Новая политика ExistingWorkPolicy.APPEND_OR_REPLACE
👉 Возможность задать свой собственный RunnableScheduler для отслеживания WorkRequest, который будет выполнен позже
👉 Возможность динамического добавления фабрик в DelegatingWorkerFactory
👉 Новые правила Android Lint
👉 Улучшения в отслеживании BATTERY_NOT_LOW
👉 Улучшения в работе и исправления багов
WorkManager 2.4.0
👉 Больше возможностей для планировщика
WorkManager
, что запускает WorkRequest-ы👉 Поддержка RxJava3
👉 Возможность получить WorkInfo, используя WorkQuery.
👉 Возможность получить диагностическую информацию о работе WorkManager
👉 Новая политика ExistingWorkPolicy.APPEND_OR_REPLACE
👉 Возможность задать свой собственный RunnableScheduler для отслеживания WorkRequest, который будет выполнен позже
👉 Возможность динамического добавления фабрик в DelegatingWorkerFactory
👉 Новые правила Android Lint
👉 Улучшения в отслеживании BATTERY_NOT_LOW
👉 Улучшения в работе и исправления багов
#Lifecycle
Lifecycle 2.3.0-alpha06
Изменение поведения
👉 DESTROYED теперь терминальное состояние, что означает отсутствие каких-либо дальнейших событий
👉
👉 Новые вспомогательные методы
👉 Новый метод Lifecycle.withStateAtLeast, который дожидается когда Lifecycle, достигнет заданного состояния
Lifecycle 2.3.0-alpha06
Изменение поведения
👉 DESTROYED теперь терминальное состояние, что означает отсутствие каких-либо дальнейших событий
👉
LifecycleRegistry
теперь будет проверять, что метод вызываются на главном потоке👉 Новые вспомогательные методы
downFrom(State)
, downTo(State)
, upFrom(State)
, upTo(State)
, которые генерирует Event для заданного State и направление перехода для его осуществления.👉 Новый метод Lifecycle.withStateAtLeast, который дожидается когда Lifecycle, достигнет заданного состояния
#Resourses
How to name a color in Android
Есть мнение, что одной из основных проблем в программировании является именование. Как часто вы сталкивались с тем что не можете придумать название функции или ресурса? Для нас, как Android разработчиков беспорядок в xml с цветами является весьма привычным делом, хотя студия часто спасет, отображая цвет в колонке с нумерацией строк.
Автор статьи предлагает систему для именования цветов в xml, дабы в будущем избежать путаницы.
How to name a color in Android
Есть мнение, что одной из основных проблем в программировании является именование. Как часто вы сталкивались с тем что не можете придумать название функции или ресурса? Для нас, как Android разработчиков беспорядок в xml с цветами является весьма привычным делом, хотя студия часто спасет, отображая цвет в колонке с нумерацией строк.
Автор статьи предлагает систему для именования цветов в xml, дабы в будущем избежать путаницы.
Medium
How to name a color in Android
Is “login_background” really a color?
Используете ли вы в production проектах Navigation из Arch Components ?
Final Results
44%
Да
41%
Нет
6%
Что это?
9%
Не участвую в опросе
#Activity
Improving inter-activity communication with Jetpack ActivityResult
В ближайшем релизе
Самое важное еще - все гайды с получением результата уже переписаны на новое API, а
Improving inter-activity communication with Jetpack ActivityResult
В ближайшем релизе
androidx.activity
нас ждёт замена onActivityResult() на новое API - Activity Result API. Вместо хранения requestCode
, понимание правильно resultCode
вы теперь просто делаете запрос и получаете результата.Самое важное еще - все гайды с получением результата уже переписаны на новое API, а
onActivityResult()
будет deprecatedAndroid Developers Blog
Improving inter-activity communication with Jetpack ActivityResult
Posted by Yacine Rezgui , Developer Advocate Whether you're requesting a permission, selecting a file from the system file manager, or...
#BestPractices
40 советов, которые навсегда изменят ваше программирование
Статья, которая содержит 40 достаточно полезных рекомендаций для разработчика, будет полезна как новичкам, так и опытным программистам. Заголовок немного кликбейтный, потому что каждому разработчику присущ свой стиль написания кода, но советы действительно помогут пересмотреть свои взгляды на определённые вещи в разработке.
40 советов, которые навсегда изменят ваше программирование
Статья, которая содержит 40 достаточно полезных рекомендаций для разработчика, будет полезна как новичкам, так и опытным программистам. Заголовок немного кликбейтный, потому что каждому разработчику присущ свой стиль написания кода, но советы действительно помогут пересмотреть свои взгляды на определённые вещи в разработке.
AppTractor
40 советов, которые навсегда изменят ваше программирование
В этой статье я даю некоторые советы, которые помогли мне в моей карьере. Прочитать это все можно быстро, но их внедрение и использование может занять всю жизнь.