Android Broadcast
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR
Ko'proq ko'rsatish📈 Telegram kanali Android Broadcast analitikasi
Android Broadcast (@android_broadcast) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 14 568 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 8 880-o'rinni va Rossiya mintaqasida 45 910-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 14 568 obunachiga ega bo‘ldi.
04 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 44 ga, so‘nggi 24 soatda esa -5 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 41.11% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 23.87% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 5 989 marta ko‘riladi; birinchi sutkada odatda 3 478 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 73 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent api, kotlin, gradle, сборка, androiddev kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Подборка новостей и статей для Android разработчиков.
Реклама и связь с автором @ab_manager
РКН https://abdev.by/rkn_tg_ab #MQRZR”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 05 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
REASON_OTHER
👉 в описании строка "MemoryLimiter:AnonSwap"
👉 в Crashlytics этого НЕ будет: это не краш, а системное убийство процесса
И сразу разрушим главное заблуждение: это НЕ про heap size.
getMemoryClass() и largeHeap ограничивают только Java-кучу — объекты под управлением ART. Превысил — получишь OutOfMemoryError со стектрейсом, который ловится. А новый MemoryLimiter считает другое — анонимную память ВСЕГО процесса:
👉 битмапы (с Android 8 их пиксели в нативной памяти, в Java-куче их нет)
👉 нативные библиотеки, медиакодеки, Skia
👉 веса on-device ML/LLM моделей (mmap/нативка)
Всё это в getMemoryClass() не видно. Можно сидеть втрое ниже heap-лимита, никогда не словить OOM — и всё равно быть убитым, потому что суммарная нативная память процесса вылезла за порог. getMemoryClass и OOM — про Java-кучу. MemoryLimiter — про весь процесс. Это два разных предохранителя, и старый про новый вам ничего не скажет.
Важные оговорки, чтобы не было паники на пустом месте:
👉 в Android 17 лимиты заданы консервативно: цель — экстремальные утечки и выбросы, а не нормальные приложения
👉 включены только на части устройств
👉 конкретных чисел Google не публиковал. Реальный лимит своего девайса можно снять командой: adb shell am memory-limiter status
В зоне риска тяжёлые сценарии на устройствах среднего и бюджетного сегмента.
Уже есть задокументированный случай на бете — крупная on-device модель Gemma падала на Pixel 6a с 6 ГБ RAM именно из-за MemoryLimiter. 6 ГБ — это уже не бюджетник. Java-куча там небольшая, а нативка с весами модели — гигабайты в RAM.
Два мифа, которые гуляют по сети и которые повторять не надо:
👉 НЕТ подтверждения, что система шлёт «вежливое предупреждение» перед убийством
👉 НЕТ официального «дедлайна для разработчиков 30 июня». Google его не объявлял
Это первый раз, когда дисциплина по памяти не совет, а правило от ОС. Сейчас лимиты мягкие, но направление одностороннее — закручивать будут, а не отпускать. И самое неприятное тут не сам лимит, а его невидимость: пользователи будут терять сессии, а вы не узнаете, пока специально не начнёте смотреть.
💬 Как вы думаете, связаны ли меры с тем, что оперативка стала дорожать и вставить по 12–16 ГБ стало дорого?
#Android #Android17 #ПроизводительностьLazyVerticalGrid(
columns = GridCells.Adaptive(minSize = 160.dp),
modifier = Modifier.fillMaxSize()
) {
items(list) { ItemCard(it) }
}
Но почти всегда забывают про пагинацию. pageSize хардкодят, и это ломает всю адаптивность. На планшете с 4 колонками те же 20 элементов — это 5 строк. Пользователь упирается в конец страницы раньше чем успел проскроллить.
Правильно — считать pageSize от реального числа колонок:
BoxWithConstraints {
val columns = (maxWidth / 160.dp)
.toInt().coerceAtLeast(1)
val rows = (maxWidth / 120.dp)
.toInt().coerceAtLeast(1)
val pageSize = columns * rows
val items = remember(pageSize) {
Pager(PagingConfig(pageSize = pageSize)) { MyPagingSource() }
}.flow.collectAsLazyPagingItems()
LazyVerticalGrid(
columns = GridCells.Adaptive(minSize = 160.dp)
) {
items(items.itemCount) { ItemCard(items[it]) }
}
}
На смартфоне выйдет ~10 элементов, на планшете ~30. Никаких магических чисел — только математика от реального пространства.
Самый хороший пример тут - галерея. Они показывают адаптивную сетку контента и имеет возможность настройки другого расположения элементов
🔗 Lazy lists and grids — Android Developers
#Compose #Android #AndroidDev #Ui #Adaptive #Адаптивность-keep class com.library.** { *; }. R8 видит это и выключает оптимизацию для всего пакета, даже если вашему приложению нужны оттуда три класса. AGP 9.3.0-alpha05 добавил инструмент, который это наконец показывает с цифрами.
Configuration Analyzer генерирует HTML-отчёт, в котором по каждому keep rule и по каждой библиотеке видны три метрики:
👉 Shrinking score - процент кода, доступного для удаления неиспользуемых классов и методов
👉 Optimization score - процент кода, доступного для инлайнинга, мёрджинга классов и прочих R8-оптимизаций
👉 Obfuscation score - процент кода, доступного для обфускации имён
Начиная с AGP 9.3.0-alpha05 отчёт генерируется автоматически в build/outputs/mapping/release/configanalyzer.html при каждом билде с квлюченной минификацией. Для AGP 9.2 и ниже нужно при запуске ./gradlew assembleRelease передать системный флаг com.android.tools.r8.dumpkeepradiushtmltodirectory с путём до папки куда сохранить отчет.
Помимо широких правил анализатор выделяет ещё два типа мусора:
👉 unused rules, которые не матчат ни один класс в текущем билде (обычно появляются после рефакторинга)
👉 subsumed rules, когда одно широкое правило перекрывает другое и делает его бессмысленным.
‼️ ВАЖНО: требует R8 9.3.7-dev, который идёт в комплекте только с AGP 9.3.0-alpha05. Это ранняя alpha. На продакшн-сборки без тщательной проверки не стоит.
Это первый инструмент с конкретными цифрами по влиянию сторонних библиотек на R8. Раньше это была область догадок и ручного анализа mapping-файлов. Теперь можно прийти к мейнтейнеру с отчётом и показать: вот твоё правило, вот 35% заблокированной оптимизации у нас в проекте. Круто если такой отчет можно будет получить как XML/JSON чтобы встраивать в другие инструменты.
#Android #AndroidDev #R8 #Performance #agp #ПроизодвительностьBROADCAST_ANDROID_AI 🎁 — самая приятная цена для тех, кто успеет первым.
#рекламаbroadcast — скидка 5% на книги издательства "Питер"!
#рекламаandroid update.
Стоит понять, что CLI делает сам, а что нет. Сам он умеет то, чему не нужно понимание кода: создать проект, поставить зависимости, собрать, поднять эмулятор, задеплоить. Это обёртка над gradle, adb и SDK-тулзами, работает откуда угодно.
«Умные» операции CLI проксирует в запущенную Android Studio через новую команду android studio. Студия тут работает как бэкенд: analyze-file гоняет инспекции IDE, find-declaration и find-usages ищут символы через семантический индекс проекта, render-compose-preview отдаёт картинку Compose-превью из рендер-движка студии, version-lookup подтягивает актуальные версии зависимостей. Команда android studio check показывает pid живого процесса студии и статус проекта READY: CLI разговаривает с уже открытым инстансом по локальному каналу. Студия не запущена, у агента остаются только сборка и деплой, всё умное отваливается.
Ещё в релизе появились Journeys, сценарии на естественном языке для прогона по приложению, а библиотеку скиллов пополнили миграцией на CameraX, Perfetto SQL и Compose Style API.
Также появилась интеграция с Android разработкой в Antigravity на основе Android CLI
🤔 Меня в таких мостах к IDE смущает привязка к одной открытой папке проекта. MCP-сервер для Android Studio я по этой причине так и не стал использовать: работаю через git worktree, держу несколько папок-проектов одновременно, а мост видит только главную.
🔗 Источник Android Dev Blog
#Android #AndroidDev #AI #ИИ #AndroidStudio
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
