TGINSIGHT CHAT
Android Broadcast
@android_broadcast
TechnologiesПодборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR
Posts récents
Tag : #android · 490 posts
Publié 13 oct.
🤖Скрытые угрозы Room: почему база тормозит и как это исправить Важные советы всем кто используют Room, чтобы база работала быстро: 👉Индексы — ваши лучшие друзья: без них запросы деградируют до O(n) 👉Транзакции важны: SQLite разработан для эффективной пакетной обработки 👉Разбиение на страницы крайне важно: никогда не пытайтесь одновременно обрабатывать тысячи строк 👉Режим Write-Ahead Logging (WAL) критически важен, особенно для параллельных операций чтения и записи 👉Настраивайте схему БД для практической производительности, а не только для академической нормализации Больше полезных советов в статье #android#room#sqlite
Publié 10 oct.
🔨 Вот так теперь разрабатываются циферблаты под WearOS и никак иначе. Старый формат отключили в WearOS 5 #wearos#android#androidstudio
Hashtags
Publié 10 oct.
🔨 Вышел четвертый эпизод Android Studio Narwhal Feature Drop Из нового и важного - поддержка создания декларативных циферблатов часов (без кода, только XML править) #androidstudio#android
Hashtags
Publié 9 oct.
🤖Статья (5м) в формате расследования как происходит остановка приложения из-за крэша и где возникает это. Из статьи узнаете про: 👉 UncaughtExceptionHandler 👉 ActivityThread 👉 Как происходит остановка процесса #android#подкапотом
Hashtags
Publié 7 oct.
🚀 Ускорения запуска приложения со Splash скрин за счет использования прозрачной Activity. По умолчанию все Activity в Android являются непрозрачными и перекрывают Activity под ними, что приводит к остановке их работы. Автор статьи решил сделать иначе и запускается MainActivity, а поверх SplashActivity. Это позволяет продолжать работать MainActivity и прогреть код в ней. Подробности в статье (EN,9м) #android#производительность
Hashtags
Publié 6 oct.
🔥Как ускорить запуск приложения - вынести инициализацию Firebase из Main потока в Application.onCreate() и запустите его на фоновом потоке. Профит на графике. Источник - блог @nek_12_personal #firebase#android#performance
Hashtags
Publié 4 oct.
🛒Как можно следить за потреблением заряда батареи в Android Vitals В Google Play Console в разделе "Vitals" можно отследить как расходуется заряд батареи приложением, особенно в случаях ненужных захватов Wake Lock. Вы нашли что-то интересное для себя в этом разделе ? Wake Lock — это «костыль», который не дает телефону уснуть. Разработчик может повесить блокировку, чтобы не дать выключится экрану или процессору 📹Видео версия (EN, 21м) #android#googleplay
Hashtags
Publié 1 oct.
🤯F-Droid выражает протест против обязательной верификации всех разработчиков Разработчики альтернативного магазина open-source приложений выражают обеспокоенность тем, что обязательная верификация для распространения приложений на устройствах, сертифицированных Google, негативно влияет на творчество. Но у меня сразу ряд вопросов: 👉 Какие проблемы это создает для распространения через F-Droid? 👉 Исходный код и все авторы приложения из F-Droid известны 👉 Авторы гарантируют что софт настоящий и без трекинга, то в чем суть подтверждения авторства? Официальное заявление можно найти тут #android#googleplay#fdroid
Hashtags
Publié 1 oct.
❗️Google поясняет за Android developer verification Google сделала выпуск Android Developer Backstage про будущую обязательную верификацию разработчиков. Значит ли что sideloading на Android больше не будет? АБСОЛЮТНО НЕТ. Суть изменения - защита пользователей от недобросовестных разработчиков, а не ограничить выбор метода установки. Основная задача - убедиться, что загружаемая сборка действтиельно от оригинального разработчика. Как верификация разработчика повлияет на использование Android Studio? Команда работает над тем, чтобы работа не поменялась. Собирать и устанавливать APK можно будет без верификации. Как распространять сборки для внутренних тестеров? Если вы будете делать установку не только через adb, тогда придется пройти верификацию и зарегистрировать пакет. Нужно ли будет регистрировать приложение, если сборка распространяется для ограниченной группы пользователей? Официальная рекомендация - пройти регистрацию. Но можно будет получить бесплатный пользовательский аккаунт для учителей, студентов и энтузиастов для распространения сборки на ограниченное количество устройств. #android#google#googleplayservices#безопасность
Publié 29 sept.
🐱Analytiks - Android библиотека, которая позволит работать с разными популярными аналитиками, так и добавить собственную. Есть возможность перехвата событий и другие полезные утилиты. Очень удобно делать разные конфигурации аналитик под разные сборки. // Проводим инициализацию val analytiks: Analytiks = Analytiks.Builder() .addClient(GoogleAnalyticsClient()) // Firebase Analytics .addClient(MixpanelAnalyticsClient(token = "YOUR_TOKEN")) .addClient(TimberAnalyticsClient()) // For debug logging .build() analytiks.initialize(applicationContext) // Track a simple event analytiks.logEvent("user_signup") // Track an event with properties analytiks.logEvent( eventName = "purchase_completed", properties = mapOf( "product_id" to "12345", "price" to 29.99, "currency" to "USD" ) ) // Identify a user analytiks.identify(userId = "user_12345") // Set user properties analytiks.setUserProperty("subscription_type", "premium") // Send all queued events immediately analytiks.pushAll() #android#аналитика
Hashtags
Publié 29 sept.
🤖Как правильно загружать данные для UI через ViewModel (RU,20м) Я видел разные вариации загрузки данных через ViewModel, чтобы они "быстрее показались на UI": запуск в init блоке ViewModel, запуск загрузки из LaunchedEffect из Composable или из Fragment коллбека. Я за самый правильный путь - использование холодных стримов данных, которые запустят в момент появление клиента для отображения данных из них. Все эти ранние прогревы экономят очень мало по сравнению с длинной запроса. Рекомендую почитать статью, где автор описал все лучшие практики по загрузке. class UserAccountDetailsViewModel( private val getUserDetailsUseCase: GetUserDetailsUseCase = GetUserDetailsUseCase.create(), ) : ViewModel() { val userDetails: Flow<ViewState> = flow { emit( getUserDetailsUseCase.execute() .fold( onSuccess = { ViewState(...) }, onFailure = { ViewState(...) } ) ) }.stateIn( viewModelScope, SharingStarted.WhileSubscribed(5_000), // Важно ViewState(isLoading = true, isError = false) ) } Что еще полезно в статье: 👉 Как suspend вызов превратить в Flow 👉 Как делать принудительное обновление 👉 Условная загрузка #android#архитектура
Hashtags
Publié 25 sept.
‼️Google объединяет Android и ChromeOS в одну систему 🤯 Уже в 2026 году покажут первый ноутбук на обновлённой Android ОС! На Qualcomm Snapdragon Summit глава Android-экосистемы заявил, что Google создаёт единую ОС. 👉 Она будет основана на Android, но с опытом и наработками из ChromeOS. 👉 Первое устройство, скорее всего, получит флагманский Snapdragon, а не фирменный Google Tensor. Это значит, что адаптивность приложений, работа с клавиатурой и мышью, а также desktop-опыт становятся важнее как никогда. 💡 Лично я очень хочу попробовать такой ноутбук. А вы бы перешли на Android-ноут? 🔗 Источник #android#chromeos