В продолжение статьи автор сделал замер скорости от использования лямбды вместо простого значения в Composable функции. Результаты в статье, а коротко под спойлером
Уменьшилось количество потерь кадров на 30% и сокращения расхода оперативки больше чем на 1 Мбайт в среднем 🤯
#compose #производительность
#compose #производительность
👍37🔥8👌3👏2❤1
Статья с обзором создания собственного Modifier в Compose одним из способов:
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍7
Пример использования корутин в Compose для блокировки перехода на другой экран с цель ожидания проверки подтверждения от пользователя
Читайте полную статью на канале Леши Панова @adept_notes
#compose #coroutines
Читайте полную статью на канале Леши Панова @adept_notes
#compose #coroutines
👏28❤9👌4👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44🔥10👏7❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5
👉 Несколько файлов конфигурации стабильных типов
👉 Приостанавливаемая композиция.Экспериментальная функция.
👉 Изменение поведения open, abstract и overriden Composable функций. Они больше не будут restartable. Теперь всегда будут приводить к рекомпозиции родителя.
👉 Ускорение компиляции
#kotlin #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤3
Опыт миграции приложения Дринкит с View на Compose. Рассказывается про значительное увеличение время первого открытия экрана и причину этого - поставка Compose отдельно от системы.
Ребята боролись с медленными запусками через оптимизации и лайфхаки, особенно интересным показался прогрев ComposeView через ContentProvider, чтобы сделать максимально рано на старте приложения, вплоть до запуска экрана во время splash 🤯.
Одной из причин тормозов - приложение было частью на View, часть на Compose и первым экраном user flow был View экран, а вот при старте с Compose экрана становится лучше. Полный Compose убирает многие тормоза из-за раннего "прогрева" кода
Лучший способ поддержать Макса, автора статьи, - подписку на его блог @mobilefiction
#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤39🔥14👍1
Серия статей как работает анимация Compose под капотом
1️⃣ API анимации в Compose
2️⃣ Как на основе кадров рассчитывается значение элементов во время анимации
#анимация #compose
#анимация #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31
Пройдите тест по Compose Modifier от KtAcademy и проверьте свои знания
В комментариях делитесь вопросами что у вызвали непонимание, а также результатами теста
#квиз #compose
В комментариях делитесь вопросами что у вызвали непонимание, а также результатами теста
#квиз #compose
👍24🔥11
Рекомендую всем настроить правила статического анализа кода с Compose. Позволит избежать ошибок и подскажет полезное. Набор правил можно подключить к Detekt или KtLint.
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍11
SemanticsPropertyReceiver.invisibleToUser()
и другие#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Вышел Compose Multiplatform 1.7.3
Что нового
⚙️ Поддержка K2 режима для Compose плагина в IDEA
🛠 Исправленив в iOS
⬆️ Обновление до Jetpack Compose 1.7.6 и других свежих версий Jetpack библиотек
#compose
Что нового
🛠 Исправленив в iOS
⬆️ Обновление до Jetpack Compose 1.7.6 и других свежих версий Jetpack библиотек
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🎉 Compose Hot Reload уже скоро появится
Если вы не знали, то JetBrains во всю делает прототип решения и уже есть рабочее решение. Пока только для Desktop, но будем ждать лучше. В статье (EN,10м) происходит демонстрация возможностей и рассказывается про принципы работы.
Кажется, что Flutter останется без одного своего преимущества перед Compose
#compose #desktop
Если вы не знали, то JetBrains во всю делает прототип решения и уже есть рабочее решение. Пока только для Desktop, но будем ждать лучше. В статье (EN,10м) происходит демонстрация возможностей и рассказывается про принципы работы.
Кажется, что Flutter останется без одного своего преимущества перед Compose
#compose #desktop
👍45🔥24❤3
Чтобы ваш LazyColumn работал эффективно, используйте ключ для идентификации элемента в ячейки списка
Это позволит получить повышение скорости работы списка, лучшее сохранение состояния, а UI плавнее. Подробности в статье (EN,3м)
#compose #производительность
val yourList: List<Item> = ...
LazyColumn {
items(items = yourList, key = { it.id }) { item ->
ItemUI(item)
}
}
Это позволит получить повышение скорости работы списка, лучшее сохранение состояния, а UI плавнее. Подробности в статье (EN,3м)
#compose #производительность
👍67❤2