AndroidX Tracing — это библиотека для добавления данных в код, которая позволяет видеть что происходит внутри приложения в профилировщиках вроде Perfetto и Android Studio.
До версии 2.0 она была завязана исключительно на
android.os.Trace — то есть работала только на Android. Теперь всё изменилось.Версия 2.0 полностью пересматривает подход:
👉 Поддержка Desktop JVM — трейсинг теперь работает не только на Android, но и на обычной JVM. Это открывает возможность профилировать host-инструменты, Gradle-таски и shared-код в KMP-проектах.
👉 Propagation для корутин — классическая проблема: suspend-функции разрывали трейс на несвязанные куски и было непонятно что к чему относится. Теперь
traceCoroutine() прокидывает контекст трейса через корутины автоматически.👉 Метаданные в слайсах — к каждому трейс-событию можно прикрепить аргументы. Видишь слайс в Perfetto и сразу понимаешь с какими параметрами он вызван.
👉 Новый формат — Perfetto trace — трейсы совместимы с Android Studio и Perfetto UI из коробки.
Новый API выглядит так:
val driver = TraceDriver(sink = TraceSink(
sequenceId = 1,
directory = File("/tmp/perfetto")
), isEnabled = true)
driver.use {
driver.tracer.trace(category = CATEGORY_MAIN, name = "my_operation") {
// твой код
}
}
⚠️ Пока это только alpha и многих привычных возможностей нету, но будут к релизу Stable версии.
#Android #AndroidDev #KMP #AndroidX #Производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25👎6🔥6❤3🤔2
Forwarded from Информатика • Алексей Гладков
Air это новая среда разработки, где работа строится вокруг ИИ-агентов, а не классического редактора кода, и сейчас она бесплатна для macOS, а версии для Windows и Linux обещаны позже.
Отдельно интересно, что Air вырос из закрытого Fleet (который был вообще для мультиплатформы) и делает ставку на точный контекст - ссылки на строки, классы, методы и коммиты вместо длинных вставок кода. JetBrains явно пытается занять место в новой волне AI-first IDE рядом с Cursor и другими конкурентами.
Ну наконец-то додумались!
⸻
YouTube | VkVideo | Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👎70🔥15🤔8❤6👍6👏2
This media is not supported in your browser
VIEW IN TELEGRAM
Одна из задач при скролле контента в ленте - убрать задержку показа/воспроизведения контента, чтобы у пользователя не было ожидания или оно было минимальным (при условии стабильного интернет соединения).
Для более быстрого старта воспроизведения видео стоит использовать Preload API в ExoPlayer из Jetpack Media 3. В посте приложил демонстрацию как это реально уменьшает задержку старта воспроизведения.
🔗 Опытом адаптации PreloadManager в приложение поделились в статье
🔗 Руководство по интеграции PreloadManager в документации
* Instagram признан экстремистcкой организацией на территории Российской Федерации
#Android #AndroidDev #ExoPlayer
Please open Telegram to view this post
VIEW IN TELEGRAM
❤38👍18👎7🔥7🤯2
В Android 17 появится встроенный пикер контактов, который позволит выбирать один или несколько контактов, задавая поля которые вам нужны.
Ранее уже был
ACTION_PICK, а теперь будет ACTION_PICK_CONTACTS, который запускает спец лаунчер. Для приложения с targetSdk Android 17 и выше будет происходить автоматическая замена на ACTION_PICK_CONTACTS при вызове ACTION_PICK для контактов. // Указываем какие поля надо получить
val requestedFields = arrayListOf(
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE
)
// Создаем Intent
val pickContactIntent = Intent(Intent.ACTION_PICK_CONTACTS).apply {
type = ContactsContract.Contacts.CONTENT_TYPE
putStringArrayListExtra(Intent.EXTRA_REQUESTED_DATA_FIELDS, requestedFields)
}
// Запускаем Intent Laucnher
pickContactLauncher.launch(pickContactIntent)
Пишут что это можно протестировать на старых версиях Android. При отправки Intent c
ACTION_PICK надо будет добавить EXTRA_USE_SYSTEM_CONTACTS_PICKER.Хорошее изменение, давно уже пора было ограничить приложениям доступ ко всем контактам, только вот гранулярный доступ как это было сделано с фото эффективнее, чем пикер. Если со стороны Google Play не будет ограничений для приложений, чтобы использовать разрешение `READ_CONTACTS`, то какой смысл в этой новинках.
Я попытался запустить новый пикер на сборке эмулятора Android 17 Beta 2, но пока там ничего не работает. Наверное поэтому и нету ни одной демонстрации его работы в официальной документации.
🔗 Документация по Contact Picker
#Android #AndrooidDev #Android17 #Безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85👎10🔥4🤔3
Android Broadcast
Contact Picker - не того чего я ждал
В Android есть прекрасный пример, как можно не ломать поведение приложения и ограничить им доступ к чтению данных - Selected Photos Access. При запросе разрешения на доступ к фото в системе показывается диалог который предлагает выбрать к каким фото будет доступ.
Такого же я бы хоте и с контактами - permission остался прежним, а доступ ограничивается на уровне системы для приложения. Это идеальный способ, так работает в GrapheneOS (про неё есть видео на📹 канале). Но по сути получим очередную порцию принуждения перехода разработчиков на новое API, а те кто уже опубликовался будут работать как работали.
В Android есть прекрасный пример, как можно не ломать поведение приложения и ограничить им доступ к чтению данных - Selected Photos Access. При запросе разрешения на доступ к фото в системе показывается диалог который предлагает выбрать к каким фото будет доступ.
Такого же я бы хоте и с контактами - permission остался прежним, а доступ ограничивается на уровне системы для приложения. Это идеальный способ, так работает в GrapheneOS (про неё есть видео на
Please open Telegram to view this post
VIEW IN TELEGRAM
44👎24👍11🤔5❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Я попробовал подключить Pixel 9 Pro к внешнему 4K монитору по Type-C. Итог - зернистость такая, что пользоваться невозможно. В настройках выбрать выше FullHD не дает (возможно, ограничение моего устройства). Приложения можно растягивать как угодно, что порой приводит к проблемам их отображения и они не перестраиваются полностью. Начало хорошее, но очень много работы с разработчиками по адаптации под больши экраны и ресайз на лету.
Google дала множества библиотек и руководств по адаптации под большие экраны, а также как работать с несколькими дисплеями.
🔗 Источник - Android Developers Blog
#Android #AndroidDev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍9👎6❤5🤔2
Последние месяцы активно работаю с ИИ-агентами — и это прямо затягивает. Подход простой: никакого кода руками, только задание агенту, дальше он сам — до результата и проверки.
Делюсь каждым шагом: что нахожу, что не работает, какие ошибки совершаю. Без приукрашивания. Просто как оно есть на самом деле.
Мне интересно, куда это всё идёт. И я рассказываю своё видение. Кому тоже интересно — заходите.
🔗 Все видео в подборке на Boosty
#AndroidBroadcast #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
181👎128👍36🔥7❤4🤔1🎉1👌1
Разработчики популярного ORM для Android и KMP решили выпустить мажорную версию, чтобы отразить всю важность изменений:
👉 Полный переход на
androidx.sqlite driver API.👉 Генерация кода будет только на Kotlin, никакой больше Java.
👉 APT и KAPT больше не будут поддерживаться. Остается только KSP.
👉 Room API теперь будет делаться в подходе "Kotlin Coroutines first", делая весь ORM асинхронным по умолчанию.
Что нас ждет из новых фичей и возможностей:
👉 Появится полноценная поддержка JS и WASM-таргетов.
👉 Можно будет добавить собственные возвращаемые типы в Room. Например, Room, RxJava, Paging и пр.
Новая версия Room будет выпущена под новым пакетом androidx.room3. Room 2.X не получит новых фичей, только багфиксы.
🔗 Источник - блог Android Developers.
🔗 Release Notes Room 3.0.0-alpha01
#Android #AndroidDev #Room #SQLite #Jetpack #AndroidJetpack #KMP
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥86👍21👎7❤3🤯1
Репозиторий включает магазин для Claude Code и несколько инстурметов
👉 maven-mcp умеет получать информацию о свежих версиях зависимостях, дать дифф изменений, проверь, какие обновления вам нужны
👉 sensitive-guard - добавляет хуки, чтобы проверить файлы на чувствительные данные перед тем, как агент попытается обратиться к ним. Работает на основе gitleaks.
#AI #Gradle #ClaudeCode #Безопаность #Maven
Please open Telegram to view this post
VIEW IN TELEGRAM
27👍28👎14❤7🤔1
Команда LLVM toolchain в Google рассказала, как они применили AutoFDO (Automatic Feedback-Directed Optimization) к ядру Android — и результаты интересные.
Идея простая: обычный компилятор принимает решения об оптимизациях на основе статических эвристик. Встроить функцию или нет, какая ветка условия чаще выполняется — всё это угадывается без реальных данных из приложений и пользовательских сценариев.
AutoFDO меняет подход: компилятор получает профили реального выполнения кода и на их основе принимает куда более точные решения.Эта техника Google уже давно применяется к своей серверной инфраструктуре и ChromeOS, так что подход обкатанный и зарекомендовавший себя.
Кто знаком с ART Profiles — идея покажется знакомой. Там тот же принцип: собираем данные о реальном выполнении, отдаём компилятору, получаем более точный нативный код. Только ART Profiles работают на уровне ART для Java/Kotlin-кода конкретного приложения, а AutoFDO — на уровне ядра, C/C++ и LLVM. Разные слои, одна философия.
Для ядра профили собирают не с реальных устройств, а в лабораторных условиях: запускают топ-100 самых популярных приложений, используют
simpleperf и аппаратные возможности ARM для записи истории ветвлений. Собранные данные показывают 85% совпадение с профилями реального парка устройств — этого достаточно, чтобы считать подход рабочим.Результаты на ядрах 6.1, 6.6 и 6.12:
👉 холодный старт приложений стал быстрее на ~4%
👉 время загрузки сократилось на ~1%
👉 ядро занимает ~40% CPU-времени на Android, так что любая оптимизация здесь ощутима
Важный момент: AutoFDO не меняет логику кода, только влияет на решения компилятора — инлайнинг, раскладку кода. Функции, которые не попали в профили («холодные»), компилируются стандартным образом, без изменений.
Сейчас это уже в проде — профили включены в ветки android15-6.6 и android16-6.12, так что устройства на этих ядрах уже собираются с AutoFDO. Pixel-устройства точно попадают в эту категорию. С другими производителями сложнее: многие используют сильно модифицированное ядро и не переходят на GKI из AOSP, так что там это может быть не применено вовсе. В планах — GKI-модули, вендорные модули через DDK и поддержка новых версий ядра.
🔗 Источник - блог Android Developers
#Android #AndroidDev #Производительность #LLVM #Native
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥49👍8❤6👎4
Компания активно продвигает адаптацию Android-приложений под ноутбуки и десктопы, где управление происходит мышью и клавиатурой. Неудивительно, ведь скоро появится Android-ноутбук, есть Chromebook'и, да и телефоны уже давно предлагают подключать к большому монитору.
1️⃣ Появилось новое руководство по Desktop Experience. Это про то, как ваше приложение должно выглядеть и работать, когда пользователь запускает его в desktop-режиме. Там разобраны принципы компоновки под большие экраны, работа с курсором (включая кастомные иконки), windowing с header bar и подход к более высокой плотности информации в UI. Всё это логично вытекает из того, что Android всё активнее движется в сторону десктопа через функцию connected display.
2️⃣ Запустили Android Design Gallery — живой каталог с примерами хорошего дизайна под разные форм-факторы и паттерны UX. Обещают пополнять регулярно. Полезно хотя бы как источник вдохновения, когда застреваешь на том, как должен выглядеть адаптивный экран.
Честно говоря, руководство давно напрашивалось — адаптивная разработка под Android остаётся одним из самых недооценённых направлений. Большинство приложений на планшетах и десктопах до сих пор выглядят как растянутый телефон. Особенно что в Andorid 17 система будет игнорировать ограничения приложений на размеры окна и ориентацию, картина будет интересной.
🔗 Источник: Android Developers Blog
#Android #AndroidDev #Дизайн #UI
Please open Telegram to view this post
VIEW IN TELEGRAM
❤32👍12👎6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Google делает много усилий, но разработчики редко хотят брать новые возможности. Рассказываю на примере камеры Telegram, почему встроенное приложение снимает лучше чем камера из приложений
Смотрите на
#AndroidBroadcast #Camera
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥7👎4👏4❤2🤔2🤯1🎉1
Forwarded from Mobius — канал конференции
Кирилл Розов о генеративном AI в мобильной разработке на Mobius 2026 Spring
На Mobius выступит наш постоянный спикер — Кирилл Розов (Альфа-Банк Беларусь), один из ведущих экспертов по мобильной разработке и внедрению AI-ассистентов в продуктовых командах.
Кирилл расскажет честную историю перехода от скепсиса и страха к осознанному использованию AI. Разберем, как этот инструмент помогает повышать эффективность и качество разработки.
Вы узнаете:
🔹как генеративный AI меняет архитектуру приложений, процессы тестирования и роль разработчика;
🔹паттерны поведения команд и разработчиков на разных стадиях внедрения AI;
🔹практические шаги, которые помогут безопасно и эффективно интегрировать AI в рабочие процессы;
🔹какие специалисты будут особенно востребованы в ближайшие годы — разработчики с системным мышлением, архитекторы, тимлиды и QA, умеющие управлять AI, а не конкурировать с ним.
Приходите послушать доклад, а главное — пообщаться с самим Кириллом в дискуссии.
Купить билет
На Mobius выступит наш постоянный спикер — Кирилл Розов (Альфа-Банк Беларусь), один из ведущих экспертов по мобильной разработке и внедрению AI-ассистентов в продуктовых командах.
Кирилл расскажет честную историю перехода от скепсиса и страха к осознанному использованию AI. Разберем, как этот инструмент помогает повышать эффективность и качество разработки.
Вы узнаете:
🔹как генеративный AI меняет архитектуру приложений, процессы тестирования и роль разработчика;
🔹паттерны поведения команд и разработчиков на разных стадиях внедрения AI;
🔹практические шаги, которые помогут безопасно и эффективно интегрировать AI в рабочие процессы;
🔹какие специалисты будут особенно востребованы в ближайшие годы — разработчики с системным мышлением, архитекторы, тимлиды и QA, умеющие управлять AI, а не конкурировать с ним.
Приходите послушать доклад, а главное — пообщаться с самим Кириллом в дискуссии.
Купить билет
👎67👍41❤5🔥3👌2
Помните историю с обязательной верификацией разработчиков за пределами Google Play? Ту, где сообщество буквально взорвалось возмущением — мол:
Google закрывает открытую платформу, прощай сайдлоадинг для всех, кто не хочет светить паспорт и платить регистрационный взнос.
Google тогда обещал прислушаться к обратной связи и решил понизить градус требований.
Теперь у пользователей будет так называемый advanced flow для установки приложений от неверифицированных разработчиков. Выглядит это как небольшой квест:
Официальная причина такой сложности — борьба с мошенниками. По данным GASA, в 2025 году 57% взрослых пользователей в мире столкнулись с мошенничеством, а суммарные потери составили $442 млрд (информация из анонса). Типичная схема: звонок с угрозами, давление и просьба срочно отключить защиту и установить "нужное" приложение. Многоэтапный флоу с ожиданием сутки как раз ломает эту цепочку — дать человеку время подумать.
Ещё одна приятная деталь — бесплатные аккаунты с ограниченным распространением для студентов и энтузиастов. До 20 устройств, без ID, без оплаты. Для тех, кто просто хочет поделиться своей поделкой с друзьями.
Google реально постарался найти баланс. Угроза мошенничества через сайдлоадинг — не выдуманная, суммы потерь говорят сами за себя. При этом hardcore-разработчики и опытные пользователи ничего принципиально не теряют, просто теперь нужно пройти однократный ритуал. Другой вопрос — насколько этот "ритуал" будет раздражать тех, кто устанавливает сторонние приложения регулярно. Я вижу два лагеря: одни скажут "ну наконец-то хоть что-то для безопасности обычных людей", другие — "очередное закручивание гаек под видом заботы". И честно — оба правы по-своему.
Вступает в действие в августе 2026 с разворачиванием новый системы верификации разработчиков
🔗 Источник - Блог Android Developers
#Android #AndroidDev #GooglePlay #Безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👎46👍32🔥5🤔5
Не только Google слушает разработчиков, но и я вижу, как тема AI-кодинга раскалывает сообщество. Мне очень интересна эта тема и я активно в неё погружаюсь. Встречайте новый канал - @ai_dev_broadcast
В канале НЕ будет потока новостей:
Освещать буду то, что реально интересно мне в разработке с помощью ИИ и мой опыт:
👉 как применяю AI в разработке и управлении командой
👉 что попробовал, что зашло, что нет
👉 находки и кейсы, которые не влезают в @android_broadcast
👉 эволюцию взгляда для решения различных задач с ИИ
#AndroidBroadcast #ИИ
В канале НЕ будет потока новостей:
"Вышла новая модель A, которая стала быстрее на N% и уступила всех конкурентов"
Освещать буду то, что реально интересно мне в разработке с помощью ИИ и мой опыт:
👉 как применяю AI в разработке и управлении командой
👉 что попробовал, что зашло, что нет
👉 находки и кейсы, которые не влезают в @android_broadcast
👉 эволюцию взгляда для решения различных задач с ИИ
#AndroidBroadcast #ИИ
52👍65👎28🔥6🎉3❤2🙏2👏1🤔1👌1
Epic Games' Fortnite
Fortnite Returns to Google Play: Get the New Yeddy Outfit
Fortnite is back on Google Play. Unlock the Yeddy Outfit, jump into a new Battle Royale Season, and take the stage in Festival portrait mode.
🤯 Fortnite вернулась в Google Pla После 6 лет долгих сражений с Google. Это привело к переменам политики Google Play в США и по всему миру. Недавние перемены магазина от Google - результат сделки между компаниями
🔗 Источник: www.fortnite.com
🔗 Источник: www.fortnite.com
👍34👎8🔥6❤2
Стандартный LRU-кэш не знает ничего о времени — он выбрасывает записи только когда заканчивается место. Поэтому в дисковом кэше Glide могут месяцами лежать устаревшие изображения, пока не будет достигнут лимит размера.
Команда Grab описала подход TLRU (Time-Aware LRU) — форк DiskLruCache с тремя дополнительными параметрами:
1️⃣ TTL — время жизни записи. Если
(текущее_время - время_последнего_доступа) > TTL, запись удаляется2️⃣ Минимальный порог — защита от полного сброса. Если пользователь долго не заходил и все записи устарели, кэш всё равно не очищается полностью — иначе при возвращении все изображения загружались бы заново
3️⃣ Максимальный размер — наследуется от LRU без изменений
Реализация аккуратная: метка времени последнего доступа хранится прямо в journal-файле, переживает перезапуски. Алгоритм оптимизирован — если самая старая запись ещё не устарела, остальные не проверяются.
Миграция со старого LRU безопасна в обе стороны: оригинальный
DiskLruCache читает TLRU journal, просто игнорируя временны́е суффиксы.Мне нравятся такие решения, когда не надо переписывать с нуля, а точечно расширить проверенную реализацию. Три параметра поверх существующего механизма — и кэш наконец умеет забывать ненужное. Ну и честно - решение лежало на поверхности и вполне логичное.
🔗 Источник: engineering.grab.com
#Android #AndroidDev #Производительность #Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39❤15👎6🔥3🤔1👌1