Где и как можно ускорить приложение на Android
#android #performance
https://habr.com/ru/companies/yandex/articles/721984/
#android #performance
https://habr.com/ru/companies/yandex/articles/721984/
Хабр
Где и как можно ускорить приложение на Android
Привет! Я Александр Попсуенко, руководитель инфраструктурной команды мобилок Маркета. Сегодня я хочу рассказать, как мы ускоряли наше приложение на Android. Тут должно быть красивое описание, почему в...
Ускоряем сборку за счёт миграции с kapt на ksp
#android #build #kapt #ksp #performance
https://habr.com/ru/companies/hh/articles/755952/
#android #build #kapt #ksp #performance
https://habr.com/ru/companies/hh/articles/755952/
Хабр
Ускоряем сборку за счёт миграции с kapt на ksp
Всем привет, меня зовут Катя Гущина, я Android-разработчик hh.ru. Хочу поделиться нашим опытом отказа от kapt в пользу ksp для обработки аннотаций и ускорения скорости сборки в большом проекте. В этой...
Краткий обзор улучшений и новшеств в Jetpack Benchmark 1.2.0
#android #performance #benchmark
https://medium.com/androiddevelopers/whats-new-in-jetpack-benchmark-1-2-0-82da5092fc43
#android #performance #benchmark
https://medium.com/androiddevelopers/whats-new-in-jetpack-benchmark-1-2-0-82da5092fc43
Medium
What’s new in Jetpack Benchmark 1.2.0
This big release brings stable Baseline Profiles, new benchmarking modes, full tracing and more.
Список последних оптимизаций ART, которые позволяют уменьшить размер установленных приложений.
#android #runtime #art #performance
https://android-developers.googleblog.com/2023/11/the-secret-to-androids-improved-memory-latest-android-runtime-update.html
#android #runtime #art #performance
https://android-developers.googleblog.com/2023/11/the-secret-to-androids-improved-memory-latest-android-runtime-update.html
Обновилось руководство по поиску и устранению причин ANR
#android #anr #performance
https://developer.android.com/topic/performance/anrs/diagnose-and-fix-anrs
#android #anr #performance
https://developer.android.com/topic/performance/anrs/diagnose-and-fix-anrs
Пример использования нового Power Profiler. Он отображает уровень потребления энергии различными системными компонентами (WLAN, CPU, Memory). Это дает возможность наглядно увидеть, насколько можно снизить энергопотребление, уменьшив качество воспроизводимого видео.
#android #androidstudio #performance #profiler
https://android-developers.googleblog.com/2024/04/how-to-effectively-ab-test-power-consumption-for-your-android-app-features.html
#android #androidstudio #performance #profiler
https://android-developers.googleblog.com/2024/04/how-to-effectively-ab-test-power-consumption-for-your-android-app-features.html
Статья о производительности нового K2 компилятора. Сравнивают сборки на Kotlin 1.9.23 и Kotlin 2.0.0, версия Gradle - 8.5.
#android #kotlin #performance
https://blog.jetbrains.com/kotlin/2024/04/k2-compiler-performance-benchmarks-and-how-to-measure-them-on-your-projects/
#android #kotlin #performance
https://blog.jetbrains.com/kotlin/2024/04/k2-compiler-performance-benchmarks-and-how-to-measure-them-on-your-projects/
Если вы используете Android Studio в работе, то высока вероятность, что рано или поздно зададитесь вопросом – что можно «проапгрейдить» в железе для повышения производительности и что от этого ожидать? Если посмотреть официальные рекомендации, то они довольно скудные и особой ясности не вносят. На хабре на эту тему уже была довольно интересная статья с подробными разборами «что-на-что» влияет. Здесь же я попытаюсь немного дополнить ее еще некоторыми тестами.
#android #performance #build
https://habr.com/ru/articles/823840/
#android #performance #build
https://habr.com/ru/articles/823840/
Хабр
«Железо» для Android Studio (gradle-сборка) в 2024 году
Вступление Если вы используете Android Studio в работе, то высока вероятность, что рано или поздно зададитесь вопросом – что можно «проапгрейдить» в железе для повышения производительности и что от...
Ускоряем Android-приложения с помощью Baseline Profiles
В этой статье я расскажу, что такое Baseline Profiles, как он ускоряет запуск программы и каким приложениям он принесет больше пользы. В качестве примера возьму наш эксперимент, который ускорил время запуска приложения на 15%. Также расскажу, как мы автоматизировали добавление профилей в каждый релиз.
#android #build #performance
https://habr.com/ru/companies/avito/articles/842218/
В этой статье я расскажу, что такое Baseline Profiles, как он ускоряет запуск программы и каким приложениям он принесет больше пользы. В качестве примера возьму наш эксперимент, который ускорил время запуска приложения на 15%. Также расскажу, как мы автоматизировали добавление профилей в каждый релиз.
#android #build #performance
https://habr.com/ru/companies/avito/articles/842218/
Разработчик из команды Compose рассказывает, как они оптимизировали свой Kotlin код.
#android #compose #kotlin #performance
https://www.youtube.com/watch?v=WAbaEE8qRdw
#android #compose #kotlin #performance
https://www.youtube.com/watch?v=WAbaEE8qRdw
YouTube
Going fast with Kotlin | Andrei Shikov
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
Kotlin is leaning on JVM a lot, making most Java features accessible and easy to use. Sometimes, however, this results in curiously unexpected results during execution if…
Kotlin is leaning on JVM a lot, making most Java features accessible and easy to use. Sometimes, however, this results in curiously unexpected results during execution if…
Room (абстракция над SQLite) — одна из основных технологий, используемая почти во всех Android-приложениях для кэширования данных, оффлайновости, как cross-process хранилище данных и тому подобное. При этом скорость работы приложения обычно напрямую зависит от скорости работы с БД, особенно если речь идет о холодном старте, когда все данные хранятся в кэше (в БД).
Встает вопрос: “А не является ли сама работа с БД узким местом скорости старта приложения?” В Wildberries это особенно актуально, так как приложение построено на парадигме offline-first, когда почти вся информация кэшируется в БД, чтобы приложение работало даже с медленным интернетом или без него. Для ответа на этот вопрос в статье разберем рантайм реализацию автоматического трекинга скорости выполнения запросов и транзакций в Room Database на основе Java Dynamic Proxy.
#android #room #database #tracking #measure #performance
https://habr.com/ru/companies/wildberries/articles/849068/
Встает вопрос: “А не является ли сама работа с БД узким местом скорости старта приложения?” В Wildberries это особенно актуально, так как приложение построено на парадигме offline-first, когда почти вся информация кэшируется в БД, чтобы приложение работало даже с медленным интернетом или без него. Для ответа на этот вопрос в статье разберем рантайм реализацию автоматического трекинга скорости выполнения запросов и транзакций в Room Database на основе Java Dynamic Proxy.
#android #room #database #tracking #measure #performance
https://habr.com/ru/companies/wildberries/articles/849068/
Хабр
Автотрекинг производительности Room Database
Room (абстракция над SQLite) — одна из основных технологий, используемая почти во всех Android-приложениях для кэширования данных, оффлайновости, как cross-process хранилище данных и тому...
Меня зовут Воронская Дарья, я работаю в Android Core команде eXpress и занимаюсь оптимизацией работы приложения. Я расскажу про подходы, которые мы использовали, чтобы довести скорость отправки и рендера сообщения до того самого идеального результата.
В этой статье речь пойдет только о работе с локальной базой данных. Оптимизация БД — лишь часть большой работы, мы расскажем про наши решения по оптимизации presentation слоя в других статьях.
Наш стек: Kotlin, Room, Coroutines, WebSocket, OkHttp.
#android #database #performance
https://habr.com/ru/companies/express/articles/852268/
В этой статье речь пойдет только о работе с локальной базой данных. Оптимизация БД — лишь часть большой работы, мы расскажем про наши решения по оптимизации presentation слоя в других статьях.
Наш стек: Kotlin, Room, Coroutines, WebSocket, OkHttp.
#android #database #performance
https://habr.com/ru/companies/express/articles/852268/
Хабр
Как в eXpress достигали мгновенного рендера отправки сообщения: оптимизация локальной базы данных
Откройте eXpress и отправьте в чат простое "Привет". Обратите внимание на то, сколько времени прошло между тем, как вы нажали на кнопку "отправить", и тем, как сообщение появилось в чате. Для...
Google даёт нам Macrobenchmark и JunkStats — инструменты для оценки общей отзывчивости и стабильности интерфейса, наши плавнометры. Но этого недостаточно для того, чтобы понять, быстро ли у нас открываются экраны.
Мы поговорим, почему это так, и о том, как правильно оценивать время открытия экрана, ведь это один из самых заметных для пользователя моментов. Будем делать наш транзишинометр и замерять рендер экрана до первого onDraw и до последнего! И не переживайте! Мы посмотрим на то, как это делается и во Fragments, и в Compose
#android #performance
https://habr.com/ru/companies/dododev/articles/862646/
Мы поговорим, почему это так, и о том, как правильно оценивать время открытия экрана, ведь это один из самых заметных для пользователя моментов. Будем делать наш транзишинометр и замерять рендер экрана до первого onDraw и до последнего! И не переживайте! Мы посмотрим на то, как это делается и во Fragments, и в Compose
#android #performance
https://habr.com/ru/companies/dododev/articles/862646/
Хабр
Пишем транзишинометр для Андроид. Как понять, что мои экраны открываются быстро?
Кто мы? Андроид-разработчики! Чего мы хотим? Чтобы наши списочки не подлагивали, анимашечки крутились плавно, а переходы между экранами были такими, что глаз радуется. Одним словом: чтобы интерфейс...
Знакома ли вам ситуация, когда вы спокойно работаете, а клиентская служба передаёт вам странный репорт: несколько пользователей жалуются, что в приложении не грузятся картинки, но у вас всё работает. Или пользователь пишет в Google Play, что приложение занимает несколько гигабайт, и вы не понимаете, сколько таких пользователей и что с этим делать. Нужно ли срочно бросаться чинить, или это может подождать следующего планового релиза?
Согласитесь, было бы здорово узнавать о проблемах раньше, чем пользователи начнут жаловаться в поддержку. Сегодня я расскажу, как мы в Циан создавали Техническую Мобильную Аналитику (ТьМА) и получили возможность в любой момент времени ответить на вопрос: «Всё ли в порядке с приложением?»
#android #application #metrics #stability #performance
https://habr.com/ru/companies/cian/articles/843822/
Согласитесь, было бы здорово узнавать о проблемах раньше, чем пользователи начнут жаловаться в поддержку. Сегодня я расскажу, как мы в Циан создавали Техническую Мобильную Аналитику (ТьМА) и получили возможность в любой момент времени ответить на вопрос: «Всё ли в порядке с приложением?»
#android #application #metrics #stability #performance
https://habr.com/ru/companies/cian/articles/843822/
Хабр
Как следить за состоянием мобильного приложения?
Знакома ли вам ситуация, когда вы спокойно работаете, а клиентская служба передаёт вам странный репорт: несколько пользователей жалуются, что в приложении не грузятся картинки, но у вас всё работает....
Romain Guy рассказывает, как имя переменной может повлиять на производительность
#kotlin #performance
https://www.romainguy.dev/posts/2024/naming-is-hard/
#kotlin #performance
https://www.romainguy.dev/posts/2024/naming-is-hard/
Romain Guy
Naming is Hard
Before we dive into today’s topic, I would like to make it clear that what follows is specific to how Android, and more precisely the Android RunTime (ART), works. Some of what follows applies to other environments as well, but the main twist is about Android.…
Команда Gradle подробно пишет про работу над фичей Configuration Cache
#android #gradle #build #performance
https://blog.gradle.org/road-to-configuration-cache
#android #gradle #build #performance
https://blog.gradle.org/road-to-configuration-cache
blog.gradle.org
State of the Configuration Cache - On the Road to Gradle 9
Introduction
Автор рассказывает почему в Dagger/Hilt аннотация @Binds эффективнее, чем @Provides
#kotlin #di #dagger #hilt #performance
https://medium.com/@m.rzna/why-binds-is-faster-than-provides-annotation-in-dagger-hilt-7d0f89af6542
#kotlin #di #dagger #hilt #performance
https://medium.com/@m.rzna/why-binds-is-faster-than-provides-annotation-in-dagger-hilt-7d0f89af6542
Medium
Why @Binds is faster than @Provides annotation in Dagger/Hilt?
I’ve seen Android projects heavily using Dagger/Hilt for Dependency Injection purposes, along with Kapt or nowadays, KSP to improve the…
Сравнение TopLevel и Companion констант с точки зрения генерируемого кода
#kotlin #contstant #performance
https://proandroiddev.com/top-level-constants-vs-companion-enclosed-constants-using-kotlin-in-android-cbb067732428
#kotlin #contstant #performance
https://proandroiddev.com/top-level-constants-vs-companion-enclosed-constants-using-kotlin-in-android-cbb067732428
Medium
Kotlin Constants in Android: Top-level vs. Companion-enclosed
Does the choice between the two affect performance, APK size, or memory usage? Let’s break it down by diving into the bytecode.