Telegram Web Link
‼️ Все Android приложения должны обеспечить поддержку работы на устройствах с размером страницы памяти 16KB

Изменение размера страницы в памяти от 4 KB в 16 KB даст для приложений:
🚀 Ускорения запуска приложений
🔋 Сокращение расхода батареи
📷 Ускорение включения камеры
📱 Ускорение запуска системы

Новая требование Google Play обязует реализовать поддержку работы всех новых приложений и обновлений с targetSdk 35 (Android 15). Изменение вступает в силу с 1 ноября 2025 года

Что нужно делать
👉 Обновить библиотеки с нативынм кодом до версий с поддержку нового размера страницы
👉 Перекомпилировать свой нативный код на C/C++ с последней версией инструментов

В Google Play в AppBundle Explorer вы будете видеть совместимо ли ваше приложение cо страницей размера 16KB.

Полезные ссылки
🔗 Как адаптировать приложение
🔗 Как провести тестирование приложения на таком устройстве
🔗 Подробная документация по 16Kb page size

#android #googleplay #ndk
Please open Telegram to view this post
VIEW IN TELEGRAM
Минусы повышения размера страницы памяти

⚠️ Мелкие объекты “тратят” больше памяти.
Если в 4 КБ-странице лежало 5 мелких объектов, в 16 КБ — может быть “пустого” пространства больше. Но в современных условиях прирост производительности важнее.

⚠️ Нужна поддержка от железа.
Процессор и ядро должны поддерживать размер страницы 16 КБ — это не просто «переключатель» в настройках.

#android #ndk
🏝 Как правильно подписываться на данные для UI (EN,16м)

Очень классная статья от @nek_12_personal про лучшие практики для загрузки данных из UI, чтобы не выполнять лишнюю работу и не занимать ресурсы, когда UI не показывается

Чего следует избегать
1️⃣Ранняя загрузка данных в init блоке ViewModel
Запуск загрузки данных в блоке init может привести к устаревшей информации при возвращении пользователя к экрану после длительного отсутствия.

2️⃣Ручное управление обновлением данных из UI (например, вызовом в onResume)
Такой подход может вызвать множественные параллельные запросы, что увеличивает нагрузку на систему и усложняет управление состоянием.

3️⃣Постоянное наблюдение за потоками (Flow) без учёта жизненного цикла UI
Сбор данных в viewModelScope без учёта видимости UI может привести к утечкам памяти и избыточному потреблению ресурсов.

4️⃣Инициирование загрузки данных из UI-компонентов
Перенос логики загрузки данных в UI нарушает принцип разделения ответственности и усложняет архитектуру приложения.

Все подробности в статье, которую рекомендую вам изучить подробно!

🔗 Альтернативная ссылка

#kotlin #android #coroutines
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Как правильно конвертировать Flow в StateFlow

Для конвертации холодного Flow в горячий StateFlow для работы с состоянием (обычно происходит в ViewModel) стоит использовать оператор Flow<T>.stateIn(), с заданием политики запуска SharingStarted.WhileSubscribed
flow..stateIn(
scope = viewModelScope,
initialValue, // задаём начальное значение
started = SharingStarted.WhileSubscribed(
stopTimeoutMillis = 5.seconds,
replayExpirationMillis = 5.seconds,
),
)


SharingStarted.WhileSubscribed() — умный способ включать сбор данных только когда есть подписчики, и автоматически останавливать его, когда они исчезают. Важно настроить несколько значений:

👉 Параметр stopTimeoutMillis - задаем какое время пройдет после того как пропадет последний подписчик чтобы остановить StateFlow. По умолчанию стоит 0 мс, но Google рекомендует выставлять 5 секунд. Это позволит не останавливать Flow при пересоздании UI при смене конфигурации или если пользователь быстро свернул/развернул приложений.

👉 Параметр replayExpirationMillis - указывает через какое время после остановки сбросить кэш значений StateFlow и начать с начала, а именно initialValue

#kotlin #coroutines
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Рассказали про возможности для работы со съемкой видео с помощью CameraX и редактированием видео через Jetpack Media3. Уже вполне можно накладывать эффекты и править видео

#android #jetpack #media3 #camerax
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🖌 Figma Make - новый AI инструмент от Figma для генерации UI и кода для прототипов на их основе

#figma #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Project Mainline - важная веха в развитии Android и монополизации ОС компанией Google

До Android 10 фреймворк ОС был монолитным и любое изменение приводили к необходимости раздачи новой версии вендором.

Google выделила во фреймворке (и продолжает делать) компоненты и теперь может обновлять их независимо. Делать это может вендор или приложение с высокими системными правами, например Google Play Services.

Благодаря изменению, теперь не нужно ждать новой версии прошивки от вендора, а вы получите новую версию компонентов и даже портирование новых API из более поздних версий ОС. Так например было с Photo Picker, который появился в Android 14, но его перенесли и на Android 12+, благодаря тому что был сделан модуль медиа, частью которого и есть Photo Picker.

Более подробно читайте в документации

#androidos #android
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯 SOLID все. Берите CLARITY

C – Consistent abstraction levels
L – Limit interfaces
A – API over implementation
R – Reduce dependency complexity
I – Isolate dependency creation
T – Take exceptions when justified
Y – You decide

Берем?
⚙️ Как работает запрос фокуса в Compose (18М)

Продолжение серии статей. Во второй части погружаются в то как устроена работа фокуса на Compose, а именно что происходит при запросе фокуса, вызовом requestFocus(), и что делается под капотом этого API

В первой части рассмотрели API для работы с фокусом в Compose

#android #androidtv #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Редизайн Android - Material 3 Expressive

В рамках The Android Show I/O Edition показали "самый большой редизайн Android за всё время" (со слов спикера). Нас ждет Material 3 Expressive - обновленная версия Material 3 на основе существующих токенов

Буду садиться разбираться и рассказывать на 🪙 Boosty про что будет в обновлении

#android #android16 #material #ui #material3expressive
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯 Material 3 Expressive классный, но он не взлетит

Выглядит все очень классно, но встает вопрос у меня один "Кто это будет адаптировать в своих приложения кроме Google?" Никто из крупных разработчиков приложений не использовал Material. Все строят свои UI Kit, а еще часто и кроссплатформенные. Производители оболочек тоже все это игнорируют.

Так для кого это изменение? Показать отделу дизайна что идет работа и получить новые ачивки? Да, владельцы Pixel и немного других вендоров увидят новый дизайн везде. Слишком большая свобода кастомизации Android оболочек и приложений убивает все крутые стремления Google.

Material 3 You не получил широкой адаптации. Попробуйте назвать 5 приложений не от Google, где вы видели Material 3 You. Я вот не смогу такого

⌨️Пишите в комментариях, что думаете вы о Material 3 Expressive и его будущем
2025/07/01 01:39:00
Back to Top
HTML Embed Code: