Android Broadcast
14.5K subscribers
3.84K photos
399 videos
11 files
6.32K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
🤖 GPT-6 Astra в большом отрыве 🤯 для решения задач и дешевле, чем Fable 5.1 и Opus 5 😂 для решения задач в Android, но даже топовая модель пока решает чуть больше четверти задач, а значит, что настройка харнеса, декомпозиция и корректировка всё ещё будут за человеком.

🆕 Обновление бенчмарка принесло оценку новых моделей: Gemini 3.8 и 3.7 Flash, GPT-6, Fable 5.1, Kimi K3 и Qwen 3.8 Max.

Конечно, новый подход к оценке значительно поменял расстановку моделей и затраты в $ за тест.
👉 Эффективная Luna улетела очень далеко
👉 Kimi K3 и Qwen 3.8 Max достойно держатся на уровне топов!
👉 Gemini 3.8 Flash — самая дешевая и лучше, чем Sonnet 5 🤔

Один из показателей эффективности моделей - это деньги, которые они тратят, но интересно сколько токенов ушло. Понятно что они разные между моделями, но все равно покажет как быстро съест лимит подписки.

#AndroidDev #Android #AI #Benchmark
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21
🔴 Как получить офер в Amazon? Запись уже доступна

В чате Закрытого Сообщества Broadcast один из его участников поделился новость что получил офер в Amazon. Решил провести стрим сообщества, где я и вы сможете задать вопросы + узнаем как сейчас происходит процесс.

#AndroidBroadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
5❤13🔥8👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 ОТКРЫВАЕМ ГОРОДСКОЙ СЕЗОН С ЭРГОСТОЛ!

С 21 по 30 сентября вас ждут скидки до -20% на столы, кресла и аксессуары.

В акции участвуют популярные модели столов Терра 3.0, Квадро 4.0 Про, Уно 3.0 , кресла Экзо Флекс, Экзо Аура, беспроводная зарядка, кронштейны и многое другие. Это отличная возможность приобрести их выгодно!

⏳ Время ограничено! Успейте выбрать свой идеальный стол до 30 сентября.
👉 Со всеми предложениями можно ознакомиться на сайте.

🎁 А с промокодом ANDROID10 получите ещё –10% на все товары в корзине!

Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
👍4❤1
🤖 Правильно собирай билд для оценки производительности

Чтобы оценить скорость работы приложения, нужно собирать сборку со всеми оптимизациями и обязательно выключать дебаг для билда. Чтобы иметь возможность оценить, как работает продакшен сборка с помощью инструментов профилирования, в Android 10 добавили специальный режим Profileable. Включается в AndroidManifest:
<application …>
<profileable
android:shell="true"
android:enabled="true"
tools:targetApi="29" />
</application>

🔗 Документация тега <profileable>

#Android #AndroidDev #Performance
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍5❤4
🤖 Одно Android-приложение — куча процессов. Зачем это может понадобиться

Android-приложения по умолчанию работают в одном процессе, но можно использовать несколько для решения нагруженных задач или изоляции.

Разработчик разобрал манифесты и байткод пятнадцати крупных Android-приложений. Отдельный процесс всегда дороже потока: своя инициализация, своя память, IPC вместо прямых вызовов в коде между потоками. Мультипроцессность имеет смысл только там, где Activity, Service и try/catch не закрывают задачу. Вот примеры:

1️⃣ Изоляция. Chrome, Firefox, Facebook, Instagram гоняют веб и декодеры картинок с isolatedProcess="true". Это другой UID: без разрешений приложения и без прямого доступа к его файлам. WhatsApp так же сжимает JPEG в изолированном сервисе.

2️⃣ Рестарт, который переживает смерть основного процесса. Discord, Snapchat и Uber используют либу ProcessPhoenix. WhatsApp и Maps так переключают аккаунт и Incognito: новая Activity в том же процессе не сбросит синглтоны и кэши. У TikTok есть путь убить основной процесс по давлению памяти (:memopt). Автор честно пишет, что без замеров это выглядит сомнительно.

3️⃣ Функциональность со своей жизнью. Клавиатура Snapchat выделена в процесс :snapkeyboard, камера Instagram с локскрина — :honolulu, Instant Games Facebook — :quicksilver, загрузчик TikTok — :downloader, capability-тесты YouTube — :glcheck. Например, это позволяет OOM отдельной функции не ронять всё приложение.

Telegram, Spotify и ChatGPT свои сервисы (звонки, плеер, загрузки, войсы) держат в одном процессе. Несколько функций ≠ несколько процессов.

#Android #AndroidDev #Internals
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤5🔥2
Forwarded from Кирилл Розов
🤖 Стала доступна запись интервью про процесс собеседования в Amazon на позицию Android разработчика.

Обсудили как ИИ помогает делать массовый отклик (так и нашел позицию кандидат), как проходит процесс собеседования, офер: деньги, условия и прочие плюшки.

Где смотреть
🪙 Boosty
📹 YouTube
📲 Telegram

#AndroidBroadcast #Видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤5
⚡️⚡️Топовый конкурс с розыгрышем билетов на Mobius 2026 Autumn 

Разыгрываем 2 билета на Mobius —  большую профильную IT-конференцию по мобильной разработке: нативной и кроссплатформенной. 

📅 21–22 октября, Санкт-Петербург + online

Условия участия максимально простые:
1. Подписаться на каналы Mobius + Android Broadcast
2. Поставить любую реакцию на этот пост 👌
3. Нажать кнопку "Участвовать" 😎

Конкурс будет длиться 2 недели и закончится 7 октября.
Мы хотим, чтобы вы получили самый классный опыт от участия в Mobius — вдохновились докладами, нашли единомышленников и зарядились идеями для своих проектов вместе с нами!

🌟Также вы можете использовать промокод AndroidBroadcast, чтобы получить скидку 15% на покупку персонального билета!

Реклама. ООО «Джуг Ру Груп». ИНН 7801341446
👍73🔥19❤5
🤖 Google запускает игры на Android Auto и Automotive. Теперь когда машина стоит, можно будет погамать! Уже можно публиковать в Google Play

Фича которую не просили, не ждали, но её добавили. Вам оно надо?

#AndroidBroadcast #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤5👍5
🪙 Оптимизация расхода памяти Android приложений. РАЗБОР

В Android 17 система вешает мягкие лимиты на процесс (Memory Limiter), особенно в фоне. Google Play отдельно считает анонимную память и swap по состояниям процесса, уже с Android 13. Оптимизация памяти, осознанный расход и чистка ненужных объектов в памяти теперь уже не избежать!

На Boosty вышло прикладное видео: как выделяется память приложению, чем это мерить и как не вылетать за лимиты без вреда для UX.

#AndroidBroadcast #Видео #Оптимизация #Разбор
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍12🔥9❤1
A2UI - прокотол для AI агентов, чтобы описать текстом, что надо показать пользователю (ага, очень похоже на BDUI)

Текстовый ответ AI агента ломается, когда нужна визуализация. Остается полагаться только на то как модель умеет строить UI. Обычно нечитаемая markdown каша, еще нормальным может быть HTML/JS, но для нативной мобилки не очень.

Стнадарт A2UI предлагает делать иначе. AI агент не рисует UI и ничего не исполняет. Шлёт JSON (дерево + данные), клиент рисует своими виджетами. Очень похоже на BDUI, где JSON отправляет сервер.

Протокол открытый под Apache 2.0 за которым стоит Google. Уже совсем скоро будет релиз первой финальной версии.

Клиент заранее объявляет каталоги компонентов, поэтому агент строит UI только из них. Обновления идут сообщениями createSurface / updateComponents / updateDataModel. Клики и поля уходят обратно, агент патчит дерево.

#AI #Agents #A2UI
❤14👍3
Media is too big
VIEW IN TELEGRAM
Лучшая демонстрация A2UI - чат с ИИ агентом в мобильном приложении, где агент дает ответы, а они нативно показываются в UI

#AI
🔥45
🚀 Google выкатила первую реализацию A2UI на Compose (пока в Альфе)

Решение от Google уже включает всё для интеграции с агентом, встроенным в ваше приложение.

Есть поддержка собственных каталогов компонентов и уже готовый на основе Material 3

Надеюсь, что это перенесут на Compose Multiplatform и получится удобно писать UI с агентами на Kotlin + Compose под все платформы!

🔗 Документация A2UI Compose

#Android #Compose #A2UI #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24👍7🔥1
🐘 Вышел Gradle 9.8.0

Что нового
👉 Поддержка Java 27
👉 Улучшили отображение ошибок в логах
👉 Прокачали скорость работы на отдельных Windows компах
🛠 Исправление багов

#Gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥2
🚀 Google готовит библиотеку AndroidX Backup Test (пока только первая альфа) для тестирования переноса аккаунта между девайсами, которое становится обязательным в Google Play

// Пример теста на JUnit 5
@ExtendWith(BackupRestoreExtension::class)
@BackupRestoreConfig(applicationId = "com.example.app")
class BackupRestoreTest {

@Test
fun prefsSurviveCloudRestore(
controller: BackupRestoreController,
@TempDir outputDir: Path,
) = runBlocking {
controller.runBackupRestoreFlow(
storage = StorageDomain.Preference("user_prefs"),
outputDir = outputDir,
mode = BackupTransportMode.CLOUD_ENCRYPTED,
)
}
}


#Android #AndroidDev #AndroidJetpack #Backup #Тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22
🚀 Вышел androidx.navigation3 1.2.0. И этот как раз допил того, что надо в реальных кейсах навигации.

Три вещи, ради которых имеет смысл обновиться:

👉 Передача результатов между экранами. Больше не надо городить SharedViewModel или колбэки через хост. Обмен происходит через шину ResultEventBus. Для сценариев «выбрал и вернулся» это как раз то, чего не хватало.

NavDisplay(
backStack = backStack,
onBack = { backStack.removeLastOrNull() },
entryDecorators = listOf(
rememberSaveableStateHolderNavEntryDecorator(),
rememberResultEventBusNavEntryDecorator(),
),
entryProvider = entryProvider {
entry<Home> {
val viewModel = viewModel<HomeViewModel>()

ResultEffect<Address> { address ->
viewModel.onAddressSelected(address)
}

HomeScreen(
address = viewModel.address,
onPickAddress = { backStack.add(AddressPicker) },
)
}

entry<AddressPicker> {
val resultBus = LocalResultEventBus.current
AddressPickerScreen(
onSelected = { address ->
resultBus.sendResult(address)
backStack.removeLastOrNull()
},
)
}
},
)


👉 Поддержка KMP Deep Link API в androidx.navigation3.runtime.deeplink

👉 Упростили работы с Predictive back gesture в Android. Теперь не придется высчитывать дельту самостоятельно

#Compose #JetpackCompose #Navigation3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥12❤3
🚀 Вышел WorkManager 2.12.0

👉 Новое экспериментальное Work Metrics API для изучения истории выполнения задач.

@OptIn(ExperimentalWorkMetricsApi::class)
suspend fun dumpSyncMetrics(repo: WorkMetricsInfoRepository) {
val query = WorkMetricsQuery.Builder()
.addWorkerClassNames(SyncWorker::class.java.name)
.addTags("sync")
.setBeginTimeMillis(...)
.build()

repo.getWorkMetricsInfos(query).forEach { info ->
Log.d(
"WM",
"${info.workerClassName} " +
"state=${info.state} " +
"attempts=${info.runAttemptCount} " +
"retries=${info.explicitRetryCount} " +
"worker=${info.workerDurationMillis}ms " +
"total=${info.totalRuntimeMillis}ms " +
"stops=${info.stopReasonCounts}"
)
}
}


👉 Новое экспериментальное API для слежения за событиями разных Work
// ExecutionEventListener — все 4 метода abstract
// cheduleEventListener — default, можно повесить только нужные.
@OptIn(ExperimentalEventsApi::class)
class WorkTelemetry : ExecutionEventListener, ScheduleEventListener {

override fun onStarted(workInfo: WorkInfo) {
Log.d("WM", "start ${workInfo.id} ${workInfo.workerClassName}")
}

override fun onFinished(result: ListenableWorker.Result, workInfo: WorkInfo) {
Log.d("WM", "finish ${workInfo.id} $result attempts=${workInfo.runAttemptCount}")
}

override fun onStopped(stopReason: Int, workInfo: WorkInfo) {
Log.d("WM", "stop ${workInfo.id} reason=$stopReason")
}

override fun onException(throwable: Throwable, workInfo: WorkInfo) {
Log.e("WM", "crash ${workInfo.id}", throwable)
}

override fun onEnqueued(workInfo: WorkInfo) { }

override fun onUnblocked(workInfo: WorkInfo) { }

override fun onUpdated(oldWorkInfo: WorkInfo, updatedWorkInfo: WorkInfo) { }

override fun onCancelled(workInfo: WorkInfo) { }

override fun onPrerequisiteFailed(workInfo: WorkInfo) { }
}


Что еще поменялось
👉 minSdk 23 -> 24 (Android 7.0 теперь минимум)
👉 дефолтный executor теперь Dispatchers.Default вместо собственного. Все также можно переопределить
🛠 Исправление багов и улучшение производительности

#Android #AndroidDev #WorkManager #AndroidJetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1