TGINSIGHT CHAT
Android Broadcast
@android_broadcast
TechnologiesПодборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR
Posts récents
Page 53 sur 84 · 1,000 posts
Publié 13 mai
🤖Project Mainline - важная веха в развитии Android и монополизации ОС компанией Google До Android 10 фреймворк ОС был монолитным и любое изменение приводили к необходимости раздачи новой версии вендором. Google выделила во фреймворке (и продолжает делать) компоненты и теперь может обновлять их независимо. Делать это может вендор или приложение с высокими системными правами, например Google Play Services. Благодаря изменению, теперь не нужно ждать новой версии прошивки от вендора, а вы получите новую версию компонентов и даже портирование новых API из более поздних версий ОС. Так например было с Photo Picker, который появился в Android 14, но его перенесли и на Android 12+, благодаря тому что был сделан модуль медиа, частью которого и есть Photo Picker. Более подробно читайте в документации #androidos#android
Hashtags
Publié 13 mai
Publié 12 mai
🖌Figma Make - новый AI инструмент от Figma для генерации UI и кода для прототипов на их основе #figma#ai
Publié 10 mai
🤖Рассказали про возможности для работы со съемкой видео с помощью CameraX и редактированием видео через Jetpack Media3. Уже вполне можно накладывать эффекты и править видео #android#jetpack#media3#camerax
Publié 10 mai
Publié 10 mai
🤖 Как правильно конвертировать 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
Hashtags
Publié 10 mai
🏝Как правильно подписываться на данные для 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
Hashtags
Publié 10 mai
Минусы повышения размера страницы памяти ⚠️ Мелкие объекты “тратят” больше памяти. Если в 4 КБ-странице лежало 5 мелких объектов, в 16 КБ — может быть “пустого” пространства больше. Но в современных условиях прирост производительности важнее. ⚠️ Нужна поддержка от железа. Процессор и ядро должны поддерживать размер страницы 16 КБ — это не просто «переключатель» в настройках. #android#ndk
Publié 9 mai
‼️Все 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
Hashtags
Publié 9 mai
Publié 9 mai
🤖История того как интеграция Passkey + Jetpack Credential Manager ускорило логин и увеличило успешные попытки входа Passkey — это современный способ аутентификации, который позволяет пользователям входить в приложения и сайты без паролей, используя биометрию (Face ID, отпечаток пальца) или пин-код устройства. Также в статье есть краткая инструкция и лучшие практики. Подробнее в документации #android#passkey
Publié 9 mai
🚀Релиз Jetpack Health Connect Client 1.0 Google выпустила первую стабильную версию Jetpack Health Connect Client — библиотеки, которая упрощает доступ к данным о здоровье и активности пользователя через платформу Health Connect. Health Connect — это единый слой доступа к данным здоровья на Android. Он агрегирует информацию от разных приложений (Google Fit, Samsung Health, Fitbit и др.) и даёт централизованный, безопасный способ работы с ними. Библиотека connect-client — это Jetpack-обёртка над этим API, которая делает интеграцию максимально простой и безопасной. Что умеет Jetpack Health Connect Client 1.0: 👉 Читать и записывать данные: шаги, калории, пульс, сон, тренировки, вес и многое другое (всего 40+ типов данных) 👉 Запрашивать данные по временным диапазонам и фильтрам 👉 Управлять разрешениями на доступ к чувствительным данным — всё централизовано и прозрачно 👉 Удалять данные (в том числе выборочно) 👉 Поддерживает suspend-методы и удобные Kotlin API Подробнее читайте в документации #android#jetpack#wear