Ниже расскажу, как паттерн Memento реализуется в Android через CustomView, SavedStateHandle, Compose и навигацию. Основное внимание уделю CustomView — недооцененному способу сохранения состояния, который позволяет держать экраны легкими. View сама знает, что сохранять и как восстанавливать, без необходимости тащить все в Activity или Fragment. Также рассмотрю типичные ошибки, ограничения Bundle и методы тестирования восстановления после process death.
#android #state
https://habr.com/ru/articles/990568/
Хабр
Паттерн Memento в Android: полный разбор сохранения состояния
Привет, Хабр! На связи Алина, старший Android-разработчик в команде Инвестиций компании «Совкомбанк Технологии». Мы разрабатываем, поддерживаем и улучшаем приложение «Совкомбанк Инвестиции». Если вы...
❤11👍6💩2
Несмотря на недостатки, я считаю возможным оставить SP в проекте, если он используется в нескольких местах приложения, не используется в Compose, лишние данные очищаются, нет работы с большими объектами, а так же проект сам по себе не перегружен другими операциями. Как только одно из условий нарушается, работа с SP может хоть и не испортить ситуацию самостоятельно, но сыграть роль накопителя нагрузки. Если вы видите у себя в проекте странные ANR , связанные с SP, а так же ваш проект подходит под описание выше, то данные видимые проблемы становятся аргументами для переходу на Datastore.
#android #preferences #datastore
https://habr.com/ru/companies/alfa/articles/991556/
Хабр
Ахиллесова пята SharedPreferences и стоит ли внедрять Datastore как альтернативу
В этой статье я расскажу то, о чём не спрашивают на собесeдованиях и не рассказывают на курсах по Android-разработке — о неявной особенности Android, которая влияет на деградацию производительности и...
👍5👎1
🤖 AI в практике разработчиков: новый сезон Podlodka AI Crew
«Мы поигрались с промптом, но пока не внедряли» — часто разговоры про AI в разработке заканчиваются именно так.
Инструментов всё больше, а вот времени на то, чтобы разобраться и сделать так, чтобы магия заработала, порой не хватает.
С 16 по 20 февраля у Podlodka AI Crew пройдёт сезон «AI-агенты в разработке»: проверенные рабочие сценарии от практиков индустрии.
👀 В программе:
• единый AI-workflow для разработчика
• автоматизация стендапов и работы с документацией
• Claude Code, субагенты для кодинга
• практические кейсы внедрения AI в SRE
• подходы к созданию промптов с насыщенным контекстом
Формат — классический для Podlodka Crew: 5 дней, 10+ спикеров, 10 сессий и закрытое комьюнити в Telegram.
Отдельный плюс — цена: заметно ниже привычных конференций, при этом контента много, и он ориентирован на практику.
👉🏻Если тема AI в разработке вам интересна и хочется меньше хайпа, больше дела — держите ссылку.
А по промокоду START_AI получите скидку🎁
«Мы поигрались с промптом, но пока не внедряли» — часто разговоры про AI в разработке заканчиваются именно так.
Инструментов всё больше, а вот времени на то, чтобы разобраться и сделать так, чтобы магия заработала, порой не хватает.
С 16 по 20 февраля у Podlodka AI Crew пройдёт сезон «AI-агенты в разработке»: проверенные рабочие сценарии от практиков индустрии.
👀 В программе:
• единый AI-workflow для разработчика
• автоматизация стендапов и работы с документацией
• Claude Code, субагенты для кодинга
• практические кейсы внедрения AI в SRE
• подходы к созданию промптов с насыщенным контекстом
Формат — классический для Podlodka Crew: 5 дней, 10+ спикеров, 10 сессий и закрытое комьюнити в Telegram.
Отдельный плюс — цена: заметно ниже привычных конференций, при этом контента много, и он ориентирован на практику.
👉🏻Если тема AI в разработке вам интересна и хочется меньше хайпа, больше дела — держите ссылку.
👍2
Я работаю на проекте Android приложения Альфа-банка для физических лиц. Для нашего большого проекта это время — больная тема, так как у нас около 800 модулей и большая часть кода полностью покрыта unit тестами (за некоторыми исключениями, например, view классы). Сейчас у нас почти 6000 spec (тест-классов) в которых 37 000 тест-кейсов.
Общее время прогона всех тестов на CI превышало 3 часа. Локально все тесты прогнать вообще было утопией, так как вероятнее всего сборка просто падала от нехватки оперативной памяти.
Сейчас все тесты проекта мы научились прогонять за честные 12 минут и я расскажу что для этого потребовалось.
#android #gradle #performance
https://habr.com/ru/companies/alfa/articles/993352/
Хабр
37 000 unit-тестов против Gradle: как мы добились 12-минутного прогона
Привет я Федотов Михаил, технический лидер по Android-разработке в Альфа-Банке. Сегодня хочу поговорить про performance (ускорение) unit-тестов. Я работаю на проекте Android приложения Альфа-банка для...
❤11💩4🔥3👍2
Вышла первая бета Android 17
What's new:
Orientation and resizability restrictions
- Key Changes for SDK 37
- Exemptions and User Control
- Updates to configuration changes
Performance
- Lock-free MessageQueue
- Generational garbage collection
- Static final fields now truly final
- Custom Notification View Restrictions
- New performance debugging ProfilingManager triggers
Media and Camera
- Dynamic Camera Session Updates
- Logical multi-camera device metadata
- Versatile Video Coding (VVC) support
- Constant Quality for Video Recording
- Background Audio Hardening
Privacy and Security
- Deprecation of Cleartext Traffic Attribute
- HPKE Hybrid Cryptography
Connectivity and Telecom
- Enhanced VoIP Call History
- Wi-Fi Ranging and Proximity
Developer Productivity and Tools
- Updates for companion device apps
#android #beta #release
https://android-developers.googleblog.com/2026/02/the-first-beta-of-android-17.html
https://android-developers.googleblog.com/2026/02/prepare-your-app-for-resizability-and.html
What's new:
Orientation and resizability restrictions
- Key Changes for SDK 37
- Exemptions and User Control
- Updates to configuration changes
Performance
- Lock-free MessageQueue
- Generational garbage collection
- Static final fields now truly final
- Custom Notification View Restrictions
- New performance debugging ProfilingManager triggers
Media and Camera
- Dynamic Camera Session Updates
- Logical multi-camera device metadata
- Versatile Video Coding (VVC) support
- Constant Quality for Video Recording
- Background Audio Hardening
Privacy and Security
- Deprecation of Cleartext Traffic Attribute
- HPKE Hybrid Cryptography
Connectivity and Telecom
- Enhanced VoIP Call History
- Wi-Fi Ranging and Proximity
Developer Productivity and Tools
- Updates for companion device apps
#android #beta #release
https://android-developers.googleblog.com/2026/02/the-first-beta-of-android-17.html
https://android-developers.googleblog.com/2026/02/prepare-your-app-for-resizability-and.html
Android Developers Blog
The First Beta of Android 17
News and insights on the Android platform, developer tools, and events.
❤8👍4🔥2
В подкасте Android Developers Backstage обсуждают R8
Chapters:
0:00 - Intro
0:23 - What is R8?
1:16 - R8 vs D8
1:40 - Tree Shaking & Dead Code
4:14 - Handling Reflection
10:10 - Performance Co-Optimization
13:03 - Kotlin-Specific Gains
16:22 - Real-World Impact
41:50 - Jetpack Compose & R8
50:51 - Keep annotations
1:03:49 - The "Free Hardware Upgrade"
#android #build #r8
https://adbackstage.libsyn.com/whats-so-great-about-r8
https://www.youtube.com/watch?v=0B07A_c45_o
Chapters:
0:00 - Intro
0:23 - What is R8?
1:16 - R8 vs D8
1:40 - Tree Shaking & Dead Code
4:14 - Handling Reflection
10:10 - Performance Co-Optimization
13:03 - Kotlin-Specific Gains
16:22 - Real-World Impact
41:50 - Jetpack Compose & R8
50:51 - Keep annotations
1:03:49 - The "Free Hardware Upgrade"
#android #build #r8
https://adbackstage.libsyn.com/whats-so-great-about-r8
https://www.youtube.com/watch?v=0B07A_c45_o
Libsyn
Android Developers Backstage: What’s so great about R8?
Join hosts Tor and Romain as they sit down with Søren Gjesse, Chris Craik, and Shai Barack. This week, the team dives into R8, the whole-program optimizer that handles the "last mile" of your code before it runs on a device. Learn why implementing R8 is effectively…
👍3❤1
Статья про внутренние механизмы плагина компилятора kotlinx.serialization, от стратегии генерации промежуточного представления в два прохода до оптимизации с помощью золотой маски для проверки обязательных полей.
#kotlin #serialization
https://www.revenuecat.com/blog/engineering/kotlinx-serialization/
#kotlin #serialization
https://www.revenuecat.com/blog/engineering/kotlinx-serialization/
Revenuecat
How kotlinx.serialization generates code: a compiler plugin deep dive
In this article, you'll dive deep into the internal mechanisms of the kotlinx.serialization compiler plugin.
👍7🔥3❤1
AppFunctions — новая фича, позволяющая Android-приложениям предоставлять свои функции системным AI-агентам и ассистентам
Пример
1) Пишем функцию создания заметки - createNote(...), предоставляем подробное описание и помечаем аннотацией AppFunction.
2) Система добавит ее в список, доступный AI агентам.
3) Пользователь просит агента создать заметку. Агент видит и использует нашу функцию.
#android #ai
https://android-developers.googleblog.com/2026/02/the-intelligent-os-making-ai-agents.html
Пример
1) Пишем функцию создания заметки - createNote(...), предоставляем подробное описание и помечаем аннотацией AppFunction.
2) Система добавит ее в список, доступный AI агентам.
3) Пользователь просит агента создать заметку. Агент видит и использует нашу функцию.
#android #ai
https://android-developers.googleblog.com/2026/02/the-intelligent-os-making-ai-agents.html
Android Developers Blog
The Intelligent OS: Making AI agents more helpful for Android apps
News and insights on the Android platform, developer tools, and events.
👍25❤4🔥4
Вышла вторая бета Android 17
#android #release
https://android-developers.googleblog.com/2026/02/the-second-beta-of-android-17.html
https://commonsware.com/blog/2026/02/27/random-musings-android-17-beta-2.html
#android #release
https://android-developers.googleblog.com/2026/02/the-second-beta-of-android-17.html
https://commonsware.com/blog/2026/02/27/random-musings-android-17-beta-2.html
Android Developers Blog
The Second Beta of Android 17
News and insights on the Android platform, developer tools, and events.
🥱4👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
👨💻 Вы пишете тесты, потому что «так надо»
Покрываете несколько функций, проверяете очевидные кейсы, ставите галочку. Тесты проходят, но чувствуете, что это формальность. Они не помогают находить баги, не улучшают код, не дают уверенности в изменениях.
Проблема не в тестах. Проблема в том, как вы их пишете.
🗓 12 марта в 20:00 — открытый урок «Профессиональные Unit-тесты (модульные тесты) в Android: как тесты улучшают код»
Разберём, что отличает хороший Модульный тест (unit-тест) от теста «для галочки» и почему тестируемость — это не про процент покрытия, а про архитектуру.
Что рассмотрим:
✅ как писать Модульные тесты (unit-тесты) для ViewModel, репозиториев и сценариев использования (use case'ов)
✅ как требования к тестируемости влияют на качество кода
✅ что делает тест действительно полезным
❗️ После урока вы поймёте, как тесты становятся инструментом улучшения архитектуры, а не обязательной формальностью.
Урок проходит в преддверии старта курса. Все участники получат скидку на обучение.
➡️Регистрация по ссылке : https://otus.pw/AIvv/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Покрываете несколько функций, проверяете очевидные кейсы, ставите галочку. Тесты проходят, но чувствуете, что это формальность. Они не помогают находить баги, не улучшают код, не дают уверенности в изменениях.
Проблема не в тестах. Проблема в том, как вы их пишете.
🗓 12 марта в 20:00 — открытый урок «Профессиональные Unit-тесты (модульные тесты) в Android: как тесты улучшают код»
Разберём, что отличает хороший Модульный тест (unit-тест) от теста «для галочки» и почему тестируемость — это не про процент покрытия, а про архитектуру.
Что рассмотрим:
✅ как писать Модульные тесты (unit-тесты) для ViewModel, репозиториев и сценариев использования (use case'ов)
✅ как требования к тестируемости влияют на качество кода
✅ что делает тест действительно полезным
❗️ После урока вы поймёте, как тесты становятся инструментом улучшения архитектуры, а не обязательной формальностью.
Урок проходит в преддверии старта курса. Все участники получат скидку на обучение.
➡️Регистрация по ссылке : https://otus.pw/AIvv/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤2👍2👎1💩1
Пишут, что в обновлении Android 16 завезут поддержку внешних мониторов для Samsung и Pixel
#android
http://android-developers.googleblog.com/2026/03/android-devices-extend-seamlessly-to.html
#android
http://android-developers.googleblog.com/2026/03/android-devices-extend-seamlessly-to.html
👍19🔥2