TGINSIGHT CHAT
Android Broadcast
@android_broadcast
TechnologiesПодборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR
Posts récents
Page 64 sur 84 · 1,000 posts
Publié 3 avr.
📹Почему вам стоит включить Gradle Configuration Cache (46 мин) Кэширование фазы конфигурации (configuration cache, СС) — одна из самых ожидаемых и очевидных оптимизаций в процессе Gradle-сборки. Однако стабильной эта оптимизация была объявлена относительно недавно — в Gradle 8.1. Спикер рассказал о сложностях реализации CC и о «неожиданных» улучшениях производительности, которые может принести СС в вашу сборку. Если вы сомневались, поддерживать ли CC в своих сборках, — эти инсайты помогут вам ответить утвердительно. Чтобы снять магический ореол с реализации Gradle и воодушевить вас на возможные open source-контрибуции, слайды сопровождаются ссылками на open source кодовую базу Gradle. 🔗 Скачать презентацию с сайта Mobius #gradle#mobius
Publié 2 avr.
🤖Как ускоряли скорость сборки в Android-приложении для продавцов Ozon (11 мин) Для любого ускорения важно на первом этапе определить, как измерять результат, и уже потом применять улучшения. Какие практики применялись: 👉 Включение Gradle Build и Configuration Cache 👉 Разделение тяжелых для сборки модулей на более мелкие, чтобы можно было выполнять работу параллельно 👉 Выделение API-модулей и превращение их в JVM/Kotlin-модули без Android-плагинов 👉 Замена KAPT на KSP 👉 Удаление неиспользуемых зависимостей с помощью анализа от Dependency Analysis Gradle Plugin 👉 Использование нетранзитивных R-классов 👉Базовые рекомендации от Android-команды 👉 Включение всех опций Gradle для ускорения сборки Читал статью, и меня не отпускало ощущение, что про всё это уже слышал много раз, и все советы взяты из стандартных лучших практик. Тем, кто не оптимизировал сборку, точно поможет. #android#производительность#gradle
Publié 2 avr.
🤖Как обойти запрет на получение списка установленных приложений🤯 Знали ли вы, что приложениям теперь недоступно получать список установленных приложений без специального разрешения - QUERY_ALL_PACKAGES? Ловите статью о том, как это легко обходится реальными приложениями, опубликованными в Google Play, и у модерации магазина нет вопросов. #android#безопасность
Hashtags
Publié 2 avr.
Разработчик из Ozon делится опытом, как организовали с помощью фич языка Kotlin хранилище Dagger-компонентов, доступное из любого модуля, управляющее их жизненным циклом и забравшее другую рутину на себя. #android#dagger#di
Publié 1 avr.
Вышел первый Release Candidate Android Studio Meerkat Feature Drop 2024.3.2 #android#androidstudio
Hashtags
Publié 30 mars
⚙️Как работать с Custom Layout в Jetpack Compose (21м) В этой статье вы найдете: 👉 как работают layout-ы в Compose; 👉 изменение layout-а отдельного компонента; 👉 создание кастомных Layout и LazyLayout; 👉 отложенную композицию. Всё это на примерах, в том числе из дизайн-системы Авито. #compose#android
Publié 30 mars
Publié 29 mars
Вышел scrcpy 3.2 в котором добавили новые аудиосточники и исправили работу на Android 15 и 16 #android#интсрументы
Hashtags
Publié 28 mars
Ключевые советы для написания тестов: Опыт Сбербанка (15м) ❗️Структурируйте тесты по принципу Arrange-Act-Assert: Четкое разделение на подготовку, выполнение и проверку помогает создавать понятные и логичные тесты. ❗️Не используйте моки там, где это не нужно: Моки — мощный инструмент для тестирования, но их неправильное использование может существенно ухудшить производительность. ❗️Пишите читаемые и поддерживаемые тесты: Тесты должны быть самодокументируемыми, чтобы их мог понять любой разработчик, и легко адаптироваться под изменения кода. ❗️Изолируйте тесты друг от друга: Независимость тестов гарантирует, что один тест не повлияет на результаты другого, что критично для стабильности автоматизированного тестирования. ❗️Избегайте дублирования кода: Используйте общие фикстуры и утилиты для подготовки тестовых данных, чтобы сократить повторение и упростить поддержку. ❗️Покрывайте негативные и граничные сценарии: Необходимо тестировать не только «счастливые» случаи, но и всевозможные ошибки и исключительные ситуации, что повышает надежность приложения. ❗️Регулярный анализ производительности: Регулярный анализ производительности unit-тестов играет ключевую роль в нашем проекте для поддержания их эффективности и минимизации влияния на общий процесс разработки. ❗️Интегрируйте тестирование в CI/CD: Автоматизация запуска тестов позволяет быстро получать обратную связь и оперативно обнаруживать проблемы на ранних этапах разработки. #тестирование
Hashtags
Publié 28 mars
Secure Preference - open source библиотека с оберткой над SharedPreferences c шифрованием данных Фичи решения: полное шифрование, поддержка Coroutines FLow, простое API, автоматическое обновление, поддержка основных Android типов val securePrefs by SecurePrefs(context) securePrefs.put("user_token", token) val token = securePrefs.get( key = "user_token", default = null, ) securePrefs .keyResult("user_token", "") .collect { token -> println("Current token: $token") } Автор библиотеки есть среди подписчиков @android_broadcast и скорее всего ответит на ваши вопросы #andorid#безопасность
Hashtags
Publié 28 mars
Вот такие эффекты позволяет наложить Transformer API на видео в Jetpack Media3
Publié 28 mars
🚀Вышел Jetpack Media3 1.6.0 👉 Поддержка HLS interstitials для добавления рекламных вставок в HLS-стримы. Подробности тут. 👉 Экспериментальная поддержка декодеров с предварительным прогревом. Позволяет декодировать видео заранее и сделать переключение между видео плавным. ⚙️ Артефакт с поддержкой Compose UI - media3-ui-compose. Демо с новыми компонентами тут, руководство найдете в официальной документации. 🚀 Оптимизация производительности: системные вызовы происходят на фоновом потоке для уменьшения ANR. 🎉 Новое API MediaExtractorCompat - замена MediaExtractor из фреймворка на основе Media3. 👉 API ExperimentalFrameExtractor для получения кадров из видео на замену MediaMetadataRetriever.getFrameAtTime(). 👉 Поддержка работы с Dolby Vision. 🛠 Исправление багов. Полный Release Notes тут. #android#jetpack#медиа