#Производительность #UI #RecyclerView
Improve UI Performance with Async RecyclerView Layout Loading
История оптимизации производительности RecyclerView с использованием AsyncLayoutInflater, который переносит парсинг XML в View на фоновый поток. Результаты этой оптимизации и как ее реализовывали в статье.
Improve UI Performance with Async RecyclerView Layout Loading
История оптимизации производительности RecyclerView с использованием AsyncLayoutInflater, который переносит парсинг XML в View на фоновый поток. Результаты этой оптимизации и как ее реализовывали в статье.
Forwarded from Kotlin Broadcast
Вышла статья со сравнением скорости работы компилятора в Kotlin 2.0 и 1.9.23. Улучшения на тестовых проектах по всем сценариям, особенно в инкрементальной сборке
Также в статье добавили руководство как запустить тест на своем проекте с помощью специального проекта для тестов от JetBrains
#kotlin2 #производительность #k2
Также в статье добавили руководство как запустить тест на своем проекте с помощью специального проекта для тестов от JetBrains
#kotlin2 #производительность #k2
Baseline Profile теперь компилируется для любой НЕдебажной сборки. Это позволит ощутить скорость при установки из Android Studio или CLI. Предварительно вы все также должны настроить модуль с генераций Baseline профиля.
#androidstudio #производительность #baselineprofile
#androidstudio #производительность #baselineprofile
Обзор (10м) коллекций из AndroidX Collection:
👉 IntList, LongList
👉 IntIntPair, FloatFloatPair, LongLongPair
👉 Оптимизированные Map для работы с примитивными типами (ScatterMap)
#производительность #оптимизации
👉 IntList, LongList
👉 IntIntPair, FloatFloatPair, LongLongPair
👉 Оптимизированные Map для работы с примитивными типами (ScatterMap)
#производительность #оптимизации
Использую Notion для хранения всей информации. Основная его проблема - мобильное приложение на Android является оберткой Web, что приносит медленную скорость работы и отсутствие оффлайн работы. 😢
Наткнулся на статью как команда проекта расскзаывает про ускорение старта Android приложения и как переносят функционал в Kotlin код из Web
#производительность #оптимизация
Наткнулся на статью как команда проекта расскзаывает про ускорение старта Android приложения и как переносят функционал в Kotlin код из Web
#производительность #оптимизация
Forwarded from Kotlin Broadcast
Сравнение (EN,15м) выполнения операций в Android через Executor, RxJava, Coroutines и Flow. В тесте провели замер скорост через Jetpack Microbenchmark 3 операций:
Результат:Разные технологии не влияют для многопоточных IO операций. Выбор фреймворка лучше основывать на вашем удобстве. Простые задачи, как арифметика, лучше выполнять без многозадачности.
Как считаете вы?
#производительность #coroutines #rxjava
Результат:
Как считаете вы?
#производительность #coroutines #rxjava
Android 15 предоставит опцию использования 4 или 16 килобайтной страницы памяти для производителей устройств (анонс). На отдельных устройствах опцию можно будет включить в настройках разработчика.
В Android 15 провели большой рефакторинг, чтобы дать возможность работать со страницами разного размера и не зависеть от константы размера.
Переход на больший размер обеспечивает ускорение устройств на 5-10% при использовании на 9% больше RAM
Приложениям с использованием NDK или нативных библиотек надо выполнить повторную рекомпиляцию для совместимости с размером страницы 16 кб. Подробнее тут. Проверить работу можно на специальной версии эмулятора
#android15 #производительность
В Android 15 провели большой рефакторинг, чтобы дать возможность работать со страницами разного размера и не зависеть от константы размера.
Переход на больший размер обеспечивает ускорение устройств на 5-10% при использовании на 9% больше RAM
Приложениям с использованием NDK или нативных библиотек надо выполнить повторную рекомпиляцию для совместимости с размером страницы 16 кб. Подробнее тут. Проверить работу можно на специальной версии эмулятора
#android15 #производительность
Обновление Android Gradle Plugin 8.X зачастую не такое быстрое для крупных проектов с десятками/сотнями разработчиков. Вот и для команды автора статьи(10м) это было больно, но справились. Результат - ускорение инкреметных сборок до 10% и уменьшение размера сборок
Рассказывается про то что обновить мажорное AGP - это не только смена версии, но и
👉 Обновление версий Gradle, Java, Kotlin
👉 Мажорный Gradle требует переезда на новые фичи, а предупреждения из прошлой мажорной версии меняются на ошибки
👉 Замена Gradle API на актуальные для ускорения сборки
Автор делится своим опытом и даёт рекомендации по обновлению, но кажется что они уже самые последние кто это сделал. Так ведь?
#gradle #agp #производительность #оптимизация
Рассказывается про то что обновить мажорное AGP - это не только смена версии, но и
👉 Обновление версий Gradle, Java, Kotlin
👉 Мажорный Gradle требует переезда на новые фичи, а предупреждения из прошлой мажорной версии меняются на ошибки
👉 Замена Gradle API на актуальные для ускорения сборки
Автор делится своим опытом и даёт рекомендации по обновлению, но кажется что они уже самые последние кто это сделал. Так ведь?
#gradle #agp #производительность #оптимизация
Разработчик из команды Performance в Авито рассказал(10м) про интеграцию Baseline Profile
👉 Почему появилась нужды в Baseline Profile
👉 Создание профиля
👉 Тесты производительности:стало меньше медленных холодных запусков приложения
👉 Какой сценарий выбрать для "прогрева"
👉 Как подходить в вашем случае к созданию Baseline Profile
📺 Видеоверсия выступления (42м)
#производительность #авитотех #baselineprofile
👉 Почему появилась нужды в Baseline Profile
👉 Создание профиля
👉 Тесты производительности:
👉 Какой сценарий выбрать для "прогрева"
👉 Как подходить в вашем случае к созданию Baseline Profile
#производительность #авитотех #baselineprofile
Please open Telegram to view this post
VIEW IN TELEGRAM
В Jetpack Benchmark 1.4.0-alpha01 появилась возможность проверки холодного старта приложений и анализа мест где можно улучшиться
#benchmark #jetpack #производительность
#benchmark #jetpack #производительность
История(7м) оптимизация холодного старта приложения. Что сделали:
👉 Сделали анализ старта
👉 Подключили StrictMode
👉 Перевели I/O операции в фон
👉 Переехали на ленивую инциализацию в DI графе
👉 Убрали лишний мусор на старте
👉 Упростили иерархию UI первого экрана
#производительность #оптимизация
👉 Подключили StrictMode
👉 Перевели I/O операции в фон
👉 Переехали на ленивую инциализацию в DI графе
👉 Убрали лишний мусор на старте
👉 Упростили иерархию UI первого экрана
#производительность #оптимизация