🆕 Обновление бенчмарка принесло оценку новых моделей: 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
Какой DI вы используете?
Final Results
57%
Dagger/Hilt
8%
Metro DI
42%
Koin/Koin Annotations
2%
Kodein
3%
Другая DI библиотека
9%
Manual DI
4%
Свое собственное решение
4%
Не участвую в опросе
❤4
В чате Закрытого Сообщества 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 сентября.
👉 Со всеми предложениями можно ознакомиться на сайте.
🎁 А с промокодом
Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
С 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-приложений. Отдельный процесс всегда дороже потока: своя инициализация, своя память, IPC вместо прямых вызовов в коде между потоками. Мультипроцессность имеет смысл только там, где Activity, Service и try/catch не закрывают задачу. Вот примеры:
isolatedProcess="true". Это другой UID: без разрешений приложения и без прямого доступа к его файлам. WhatsApp так же сжимает JPEG в изолированном сервисе.:memopt). Автор честно пишет, что без замеров это выглядит сомнительно.: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 Кирилл Розов
Обсудили как ИИ помогает делать массовый отклик (так и нашел позицию кандидат), как проходит процесс собеседования, офер: деньги, условия и прочие плюшки.
Где смотреть
#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 — вдохновились докладами, нашли единомышленников и зарядились идеями для своих проектов вместе с нами!
🌟Также вы можете использовать промокод
Реклама. ООО «Джуг Ру Груп». ИНН 7801341446
Разыгрываем 2 билета на Mobius — большую профильную IT-конференцию по мобильной разработке: нативной и кроссплатформенной.
📅 21–22 октября, Санкт-Петербург + online
Условия участия максимально простые:
1. Подписаться на каналы Mobius + Android Broadcast
2. Поставить любую реакцию на этот пост 👌
3. Нажать кнопку "Участвовать" 😎
Конкурс будет длиться 2 недели и закончится 7 октября.
Мы хотим, чтобы вы получили самый классный опыт от участия в Mobius — вдохновились докладами, нашли единомышленников и зарядились идеями для своих проектов вместе с нами!
🌟Также вы можете использовать промокод
AndroidBroadcast, чтобы получить скидку 15% на покупку персонального билета!Реклама. ООО «Джуг Ру Груп». ИНН 7801341446
👍73🔥19❤5
Фича которую не просили, не ждали, но её добавили. Вам оно надо?
#AndroidBroadcast #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤5👍5
В 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 только из них. Обновления идут сообщениями
#AI #Agents #A2UI
Текстовый ответ 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
#AI
🔥45
Решение от 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
Что нового
👉 Поддержка Java 27
👉 Улучшили отображение ошибок в логах
👉 Прокачали скорость работы на отдельных Windows компах
🛠 Исправление багов
#Gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥2
// Пример теста на 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
Три вещи, ради которых имеет смысл обновиться:
👉 Передача результатов между экранами. Больше не надо городить 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
👉 Новое экспериментальное 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