#compose #camerax #камера #jetpack #android #androiddev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🔥10
Google уже перевела Android на поддержку только x64 архитектуры в устройствах. Следующий шаг - увеличения размера страницы в памяти, что приводит к ускорению работы приложения на 5-10%. Сейчас через настройки разработчика это можно попробовать на Pixel 8 и 9, а скоро устройства других производителей обеспечат поддержку и начнут переход.
Разработчикам нативных библиотек и SDK надо поддержать новый размер страницы и проверить совместимость как можно скорее. Подробнее как это сделать в статье
#android #ndk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🤯6
Больше новостей про Jetpack Compose и Compose Broadcast вы можете найти на канала @compose_broadcast: новости, советы, лайфхаки и статьи - всё там!
Подписывайтесь и давайте добъём канал до 5 тысяч подписчиков
#compose
Подписывайтесь и давайте добъём канал до 5 тысяч подписчиков
#compose
👍15
В новом видео показываю как настроить публикации для Android и Kotlin Multiplatform библиотеки в Gradle с новым механизмом подписи артефактов для Maven Central в 2024
#AndroidBroadcast #видео #gradle #maven #kmp #android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13 5👍2❤1🤯1
Вышла вторая Developer Preview Android 16 (ссылки с анонсом пока нету). Изменения освещу отдельными постами
❗️ Появился официальный анонс DP2
#android16
#android16
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🤯8
#android16 #haptic
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26 10🔥4🤯3❤1
В Android 16 JobScheduler обзавёлся новым методам для получения информацию о том, почему не запускается выполнение Job.
WorkManager работает поверх JobScheduler и туда со временем тоже добавят аналогичное API
#android16
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47 7
‼️ Tracer 1.0.0 релизнули
Вышла долгожданная версия Tracer 1.0.0. Тем кому это важно могут начать использовать инструмент чтобы следить за крешами, производительностью и состоянием устройства. Всё это полностью бесплатно!
Поздравляю всю команду с релизом и желаю им процветания и развития
#tracer
Вышла долгожданная версия Tracer 1.0.0. Тем кому это важно могут начать использовать инструмент чтобы следить за крешами, производительностью и состоянием устройства. Всё это полностью бесплатно!
Поздравляю всю команду с релизом и желаю им процветания и развития
#tracer
🔥66👍20❤6
🤯 Обновление работы WorkManager и JobSchedule в Android 16
При запуске обычной и Expedited Job (через JobScheduler или WorkManager) её выполнение зависит от квоты приложения на выполнение работы в фоне и в Android 16 она изменяется:
👉 В зависимости от app standby bucket в котором находится приложение
👉 Если Job была запущена пока приложение показывалось пользователю, то она сможет продолжится после скрытия приложения. система выделит дополнительную квоту на выполнение.
Из текста непонятно как изменение повлияет на остановку Job, но точно остылают к API для того чтобы понять причину остановки или почему не запускается выполнение
Изменение поведения коснётся всех приложения, независимо от targetSdk
#android16 #workmanager
При запуске обычной и Expedited Job (через JobScheduler или WorkManager) её выполнение зависит от квоты приложения на выполнение работы в фоне и в Android 16 она изменяется:
👉 В зависимости от app standby bucket в котором находится приложение
👉 Если Job была запущена пока приложение показывалось пользователю, то она сможет продолжится после скрытия приложения. система выделит дополнительную квоту на выполнение.
Из текста непонятно как изменение повлияет на остановку Job, но точно остылают к API для того чтобы понять причину остановки или почему не запускается выполнение
Изменение поведения коснётся всех приложения, независимо от targetSdk
#android16 #workmanager
🤯23👍5❤1
В Android 16 разработчики смогу получать у дисплея рекомендуемую частоту обновлению UI в зависимости от частоты обновления дисплея с помощью Display.getSuggestedFrameRate()
RecyclerView с версии 1.4 уже использует понимание о частое обновления дисплея и поддержку адаптивной частоты будут добавлять и в другие библиотеки Jetpack
#android16
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23
Вышел Dagger 2.54
Релиз который мы заслужили - переделки и багфиксы. Зачем вообще обновлять Dagger я не понимаю 😞
#dagger #di
Релиз который мы заслужили - переделки и багфиксы. Зачем вообще обновлять Dagger я не понимаю 😞
#dagger #di
🤯15👍9
Forwarded from Kotlin Multiplatform Broadcast
🎉 Вышла KotlinX Coroutines 1.10.1
Что нового:
👉 Kotlin 2.1.0
👉 Новые терминальные операторы Flow.any, Flow.all и Flow.none для проверок, аналогичных коллекциям. Будьте внимательные, что для бесконечных Flow вы можете не получить результата
👉 Сделали реорганизацию кода в
🛠 Исправление багов
Что нового:
👉 Kotlin 2.1.0
👉 Новые терминальные операторы Flow.any, Flow.all и Flow.none для проверок, аналогичных коллекциям. Будьте внимательные, что для бесконечных Flow вы можете не получить результата
👉 Сделали реорганизацию кода в
kotlinx-coroutines-debug and kotlinx-coroutines-core🛠 Исправление багов
👍32
🤯 Как имя переменной может повлиять на скорость выполнения коды
Вы будете удивлены, но от имени переменной код может начать работать быстрее в Android 🤯 Связано это с тем, как виртуальная машина ART компилирует код и помещает его в кэш процессора. Помещение происходит в алфавитном порядке, значит в кэш будет попадать переменные с первыми буквами алфавита, а остальное будет вычитываться из оперативной памяти без ускорение со стороны CPU.
Теперь задумаетесь как называть переменные еще и для ускорения кода 😁
#android #оптимизиация #ART
Вы будете удивлены, но от имени переменной код может начать работать быстрее в Android 🤯 Связано это с тем, как виртуальная машина ART компилирует код и помещает его в кэш процессора. Помещение происходит в алфавитном порядке, значит в кэш будет попадать переменные с первыми буквами алфавита, а остальное будет вычитываться из оперативной памяти без ускорение со стороны CPU.
Теперь задумаетесь как называть переменные еще и для ускорения кода 😁
#android #оптимизиация #ART
🤯63👍8
🤯 Расширенное превью View через Compose Preview
Разработчик стал использовать обертку из Composable функций для XML Layout, чтобы обернуть View и получить возможности превью Compose в Android Studio: превью с большим количеством функций, превью UI на устройстве и интерактивный режим
Чего только не сделают, чтобы не двигаться в новый UI фреймворк 😁
#android #androidstudio
Разработчик стал использовать обертку из Composable функций для XML Layout, чтобы обернуть View и получить возможности превью Compose в Android Studio: превью с большим количеством функций, превью UI на устройстве и интерактивный режим
Чего только не сделают, чтобы не двигаться в новый UI фреймворк 😁
#android #androidstudio
🤯30👍16 6
This media is not supported in your browser
VIEW IN TELEGRAM
App Sizer - Gradle и CLI инструмент для анализа размера Android приложений. Исходный код открыт, а сам инструмент бесплатный
#инструменты
#инструменты
👍29 2
This media is not supported in your browser
VIEW IN TELEGRAM
Instagram на Android добавила съёмку в Ночном Режиме
Функцию могут оценить пользователи Google Pixel 6 и выше, Galaxy S24 Ultra, Flip и Fold 6 поколения. Обещают поддержки большего количества устройств. Реализовали её на основе Jetpack CameraX, но также можно сделать и через Camera 2 API из Android SDK.
#android #camerax
Функцию могут оценить пользователи Google Pixel 6 и выше, Galaxy S24 Ultra, Flip и Fold 6 поколения. Обещают поддержки большего количества устройств. Реализовали её на основе Jetpack CameraX, но также можно сделать и через Camera 2 API из Android SDK.
#android #camerax
👍17
Media is too big
VIEW IN TELEGRAM
Аудит Google нагрянул внезапно (как снег в Москве), и команде Яндекс 360 пришлось очень оперативно доказать, что Почта безопасна (и срочно исправить, если вдруг не совсем).
Проверку прошли успешно, и деляться своим опытом. В процессе поняли, как делать не надо, и как можно улучшить процесс разработки (например, на что обращать внимание на ревью).
Презентация – https://disk.yandex.ru/i/vv1l7tEIeq6TIA
#android #яндекс #codefest #безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤2
🚀 Ускорение загрузки Koin при запуске Android приложения (EN,8м)
В Koin 4 добавили интеграцию с Jetpack Startup для запуска инициализации Koin
и доступна инициализация фича модулей
Также показывается отложення загрузка модулей с помощью корутин
Подробнее про ленивые модули и фоновую загрузку в документации
#android #koin #di #jetpack #производительность #coroutines #AndroidBroadcast #БазаЗнаний
В Koin 4 добавили интеграцию с Jetpack Startup для запуска инициализации Koin
class MainApplication : Application(), KoinStartup {
override fun onKoinStartup(): KoinAppDeclaration = {
androidContext(this@MainApplication)
allowOverride(false)
modules(AppModule().module)
defaultModule()
}
}и доступна инициализация фича модулей
// Initializer из Jetpack Startup
class FirstModuleInitializer : Initializer<Unit> {
override fun create(context: Context) {
loadKoinModules(firstModule)
}
override fun dependencies() =
mutableListOf(KoinInitializer::class.java)
}
Также показывается отложення загрузка модулей с помощью корутин
val m1 = lazyModule {
singleOf(::ClassA) { bind<IClassA>() }
}
startKoin {
// загрузка модулей в фоне с помощью Kotlin Coroutines
lazyModules(m1)
}
val koin = KoinPlatform.getKoin()
// Ожидания выполнения задач загрузки модулей
koin.waitAllStartJobs()
// или ставим в очередь лямбду на выполнение после
koin.runOnKoinStarted { koin ->
// Код выполнится после загрузки lazy modules
}Подробнее про ленивые модули и фоновую загрузку в документации
#android #koin #di #jetpack #производительность #coroutines #AndroidBroadcast #БазаЗнаний
1👍27🔥8 3❤2
🚀 Duolingo ускорили время сборки на CI c 50 до 16 минут
В первую очередь ребята пошли самым простым путем - прокачали железо на CI, что дало основной прирост.
Затем произвели оптимизацию запуска задач на CI, что эффективнее использовать общие ресурсы.
Максимально настроили кэш, чтобы не выполнять одну и ту же работу между сборками.
В коде отказались от старых технологий и лишнего груза на сборку. Например, KAPT поменяли на KSP
Читая статью, сложилось впечатление что ребята сделали самую базу и долго терпели как у них было всё плохо.
#android #ios #ci #производительность
В первую очередь ребята пошли самым простым путем - прокачали железо на CI, что дало основной прирост.
Затем произвели оптимизацию запуска задач на CI, что эффективнее использовать общие ресурсы.
Максимально настроили кэш, чтобы не выполнять одну и ту же работу между сборками.
В коде отказались от старых технологий и лишнего груза на сборку. Например, KAPT поменяли на KSP
Читая статью, сложилось впечатление что ребята сделали самую базу и долго терпели как у них было всё плохо.
#android #ios #ci #производительность
👍39🔥9🤯3 2