Romain Guy рассказывает (часто переходя на байткод), как удается оптимизировать Compose.
#android #kotlin #compose #bytecode
https://www.youtube.com/watch?v=5cxw_fdpnoA
#android #kotlin #compose #bytecode
https://www.youtube.com/watch?v=5cxw_fdpnoA
YouTube
Practical Optimizations
In this session we will look at a series of optimizations that were done in Jetpack Compose to learn about how different types of optimizations can affect performance, including code flow/algorithms, new data structures, low-level bytecode optimizations,…
Новый урок по Compose
Небольшой урок в завершение темы Stability. Выясняем, что означает restartable, и разбираемся, какие изменения несет нам Strong Skipping Mode, который будет включен по умолчанию, начиная с Kotlin 2.0.20.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Небольшой урок в завершение темы Stability. Выясняем, что означает restartable, и разбираемся, какие изменения несет нам Strong Skipping Mode, который будет включен по умолчанию, начиная с Kotlin 2.0.20.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Вторая часть статьи про начальную загрузку данных в ViewModel. Отвечает на самые распространенные вопросы, возникшие после первой части.
1. What if you want to pass arguments when loading initial data
2. What if you want to refresh?
3. Why are ViewModel.init side-effects potentially problematic?
4. How to prevent re-emitting flow from WhileSubscribed(5_000)
#android #viewmodel #architecture #bestpractice
https://proandroiddev.com/loading-initial-data-part-2-clear-all-your-doubts-0f621bfd06a0
1. What if you want to pass arguments when loading initial data
2. What if you want to refresh?
3. Why are ViewModel.init side-effects potentially problematic?
4. How to prevent re-emitting flow from WhileSubscribed(5_000)
#android #viewmodel #architecture #bestpractice
https://proandroiddev.com/loading-initial-data-part-2-clear-all-your-doubts-0f621bfd06a0
Medium
Loading Initial Data on Android Part 2: Clear All Your Doubts
When a user enters a screen, the default data should be fetched by triggering the business logic, whether from the network or local…
Manuel Vivo рассказывает основы построения UI слоя приложения
#android #architecture #ui
https://www.droidcon.com/2023/11/15/peeling-back-the-layers-unmasking-the-ui-nknown/
#android #architecture #ui
https://www.droidcon.com/2023/11/15/peeling-back-the-layers-unmasking-the-ui-nknown/
droidcon
Peeling Back the Layers: Unmasking the UI-nknown!
How much do you know about the UI layer and its best practices? What's the preferred way to produce UiState? How to consume it? Should you use MVVM or MVI?
В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а.
#android #java
https://habr.com/ru/companies/ruvds/articles/838330/
#android #java
https://habr.com/ru/companies/ruvds/articles/838330/
Хабр
Интересные приёмы, взятые из исходников Android
Интересные приёмы, взятые из исходников Android В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании...
Краткий обзор Jetpack Media3 Transformer API, которое позволяет обрабатывать изображения, аудио и видео.
#android #media
https://www.youtube.com/watch?v=7vmiYP4vNUE
#android #media
https://www.youtube.com/watch?v=7vmiYP4vNUE
YouTube
Complement your media editing pipeline with Jetpack Media3
In this video, Developer Relations Engineer Nevin Mital will start with a quick overview of Jetpack Media3, then we’ll dive specifically into the APIs offered by Transformer, and lastly, Nevin will describe how you could incrementally start including Transformer…
image4.gif
24.9 MB
В Pixel Tablet emulator на Android 15 был добавлен режим Desktop Windowing. Приложения на экране теперь можно перемещать как окна на десктопе.
#android #emulator #screen
https://android-developers.googleblog.com/2024/09/developer-preview-desktop-windowing-on-android-tablets.html
#android #emulator #screen
https://android-developers.googleblog.com/2024/09/developer-preview-desktop-windowing-on-android-tablets.html
Если вы уже определенное время занимаетесь разработкой Android, вы, вероятно, слышали о UseCases. Их часто представляют как Святой Грааль Clean architecture. UseCases призваны отделить бизнес-логику от Presentation и Data слоев, сделав ваш код более модульным, переиспользуемым и тестируемым. Но вот в чем загвоздка: UseCases не всегда являются серебряной пулей. На самом деле, слепое их применение может привести к раздутому коду и ненужной сложности, чего как раз и пытается избежать Clean Architecture. В этой статье мы развенчаем миф о UseCases и обсудим, когда они необходимы, а когда - просто пустая трата времени. Если вы разработчик Android и задаетесь вопросом, приносите ли вы больше вреда, чем пользы, следуя этому шаблону, эта статья для вас.
#android #usecase #bestpractice #architecture
https://habr.com/ru/articles/845604/
#android #usecase #bestpractice #architecture
https://habr.com/ru/articles/845604/
Хабр
Проблема UseCase-ов: что нужно знать разработчикам Android
Введение Если вы уже определенное время занимаетесь разработкой Android, вы, вероятно, слышали о UseCases. Их часто представляют как Святой Грааль Clean architecture. UseCases призваны отделить...
Новый урок по Compose.
Краткий обзор основных инструментов для работы с Compose: Preview, Live Edit, Layout Inspector, Debug, Trace.
Тема простая, материала по ней много, поэтому я не стал много расписывать.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Краткий обзор основных инструментов для работы с Compose: Preview, Live Edit, Layout Inspector, Debug, Trace.
Тема простая, материала по ней много, поэтому я не стал много расписывать.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Разбор live-coding задачки, где надо подгружать (из URL) и отображать картинку. Стэк: View + корутины.
#android #coroutines #interview
https://proandroiddev.com/facing-a-multithreading-tech-interview-08927e4d2855
#android #coroutines #interview
https://proandroiddev.com/facing-a-multithreading-tech-interview-08927e4d2855
Medium
Facing a Multithreading Tech Interview
Lessons from a Live Coding Session
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 хранилище данных и тому...
Сегодня мы подробно разберём, как интегрировать механизм Dynamic Feature Delivery в современную архитектуру Android‑приложения с использованием корутин, а также протестируем загрузку и установку динамического модуля, использующего Flutter.
#android #architecture #dfd
https://habr.com/ru/companies/yandex/articles/845344/
#android #architecture #dfd
https://habr.com/ru/companies/yandex/articles/845344/
Хабр
Динамические модули в приложениях на Android: опыт использования Dynamic Feature Delivery
Размер приложения часто играет важную роль в восприятии его пользователями и принятии ими решения о скачивании. Исследования показывают, что чем меньше размер APK, тем выше вероятность...
Меня зовут Воронская Дарья, я работаю в 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 и отправьте в чат простое "Привет". Обратите внимание на то, сколько времени прошло между тем, как вы нажали на кнопку "отправить", и тем, как сообщение появилось в чате. Для...
Базовая статья о векторных иконках. Рассказывает, что означает набор символов типа "M3,5 L27,5 L16,23 Z".
#android #graphics #icon #vector
https://medium.com/@charles-raj/creating-custom-vector-icons-in-android-studio-a-step-by-step-guide-b4239d406b63
#android #graphics #icon #vector
https://medium.com/@charles-raj/creating-custom-vector-icons-in-android-studio-a-step-by-step-guide-b4239d406b63
Medium
Creating Custom Vector Icons in Android Studio: A Step-by-Step Guide
Hello Buddy’s, In this blog, we’ll dive into creating custom vector icons in Android Studio, a process that can give your app a unique…
Dos and Don’ts для ViewModel, часть 5:
- Avoid hardcoding Coroutine Dispatchers.
- Unit test your ViewModels.
- Avoid exposing suspended functions.
#kotlin #android #viewmodel #bestpractise
https://proandroiddev.com/mastering-android-viewmodels-essential-dos-and-donts-part-5-%EF%B8%8F5%EF%B8%8F%E2%83%A3-14d04ec2426a
- Avoid hardcoding Coroutine Dispatchers.
- Unit test your ViewModels.
- Avoid exposing suspended functions.
#kotlin #android #viewmodel #bestpractise
https://proandroiddev.com/mastering-android-viewmodels-essential-dos-and-donts-part-5-%EF%B8%8F5%EF%B8%8F%E2%83%A3-14d04ec2426a
Medium
Mastering Android ViewModels: Essential Dos and Don’ts Part 5 🛠️5️⃣
keep these in mind for better code quality when doing ViewModels!
Статья рассчитана на разработчиков, которые знакомы с базовыми концепциями Android-разработки, но хотят освоить более структурированные и поддерживаемые подходы к разработке. Мы создадим приложение Just Notes, которое позволит управлять заметками: добавлять, редактировать, удалять и просматривать их на главном экране.
В процессе мы будем следовать лучшим практикам, таким как разделение на слои data, domain, и presentation, и применение принципов SOLID. Мы рассмотрим основные этапы разработки, начиная от настройки проекта и добавления зависимостей, до реализации сложных сценариев использования, включая навигацию и управление состоянием с помощью ViewModel.
#android #architecture
https://habr.com/ru/articles/854450/
В процессе мы будем следовать лучшим практикам, таким как разделение на слои data, domain, и presentation, и применение принципов SOLID. Мы рассмотрим основные этапы разработки, начиная от настройки проекта и добавления зависимостей, до реализации сложных сценариев использования, включая навигацию и управление состоянием с помощью ViewModel.
#android #architecture
https://habr.com/ru/articles/854450/
Хабр
Как написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработке
Введение В этом гайде мы напишем с вами Android-приложение с нуля, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI, они обеспечат поддерживаемость, тестируемость и...
Автор попытался создать ViewModel со временем жизни Composable функции. Штука, может и ненужная, но интересная, чтобы лучше понимать и Compose и ViewModel.
#android #compose #viewmodel #lifecycle
https://proandroiddev.com/composable-scoped-viewmodel-an-interesting-experiment-b982b86d84cd
#android #compose #viewmodel #lifecycle
https://proandroiddev.com/composable-scoped-viewmodel-an-interesting-experiment-b982b86d84cd
Medium
Composable-scoped ViewModel: An interesting experiment
Scope any ViewModel to the composition of the Composable it is in, while surviving configuration changes, by using the power of Lifecycle.
Гугл прям всерьез работает над производительностью и надежностью Android Emulator. И уже даже добилась снижения количества крэшей на 30%.
Верим и ждем :)
#android #avd #emulator
https://android-developers.googleblog.com/2024/11/android-emulator-stability-performance-updates.html
Верим и ждем :)
#android #avd #emulator
https://android-developers.googleblog.com/2024/11/android-emulator-stability-performance-updates.html
Android Developers Blog
A Smoother Ride: Android Emulator Stability and Performance Updates
Project Quartz, an initiative by the Android Studio team, delivers improvements to the stability, reliability, and performance of the Android Emulator
Вышла первая Developer Preview версия Android 16. И немного поменялась схема релизов.
#android #developerpreview
https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html
https://commonsware.com/blog/2024/11/19/random-musings-android-16-dp1.html
#android #developerpreview
https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html
https://commonsware.com/blog/2024/11/19/random-musings-android-16-dp1.html