Google выкатили мощное обновление в Android Studio Panda (2025.3.1) — теперь легендарный LeakCanary интегрирован прямо в IDE. Больше не нужно полагаться только на экран телефона для анализа утечек.
LeakCanary — это де-факто стандарт в Android-разработке для поиска утечек памяти. Библиотека автоматически отслеживает объекты, которыеине очищаются сборщиком мусора. Это те самые "крошки", которые со временем превращаются в мертвый груз в оперативной памяти и приводят к тормозам и вылетам с ошибкой OutOfMemoryError.
В Android Studio Profiler появилась отдельная задача (task) для LeakCanary. Главная фишка — анализ переносится с девайса на компьютер.
Раньше процесс анализа хипа (heap dump) “вешал” слабые тестовые девайсы на несколько секунд (а то и минут). Теперь же “тяжелая” работа по парсингу hprof файла выполняется мощностями вашего рабочего ноутбука.
Что крутого:
✅ Удобство: Результат анализа открывается сразу в IDE. Работает навигация “Jump to Source” — кликнули на утечку, сразу перешли в код.
✅ Контекст: Можно скопировать трейс утечки и сразу скормить его Gemini прямо в студии для подсказок.
❗️ Несмотря на тесную интеграцию, LeakCanary остается независимым Open Source инструментом. Это все тот же проект от Square, который развивает комьюнити. Google не “поглотила” его, а просто встроила удобный UI для запуска анализатора внутри IDE. Библиотека остается свободной и открытой.
Попробовать можно уже в Canary-сборке Android Studio Panda.
Источник - developer.android.com
#AndroidDev #AndroidStudio #Android #Производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥217👍31❤14👎4🎉1👌1
До 11 января 2026 включительно любимые модели столов и аксессуаров ждут вас со скидкой до -20%.✨
ANDROID10 получите ещё –10% на все столы и опции к ним!Создайте идеальное пространство для работы и вдохновения!
📍 В Москве можно посетить шоурум (по предварительной записи).
Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
Please open Telegram to view this post
VIEW IN TELEGRAM
👎17👍9❤2
Android Broadcast
This media is not supported in your browser
VIEW IN TELEGRAM
Для тех кто не в курсе, Material Symbols пришли на замену Compose Material Icons, которые больше не рекомендуется к использованию (подробности тут)
Источник - Android Developers
#Android #AndroidDev #Compose #AndroidStudio
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥74👍13🎉11👎3❤1
В Android 16 по умолчанию включили режим edge‑to‑edge, и разработчики больше не могут от него отказаться, если таргетят новую версию SDK. Да, часть ответственных команд внедрила поддержку ещё раньше, другие начали дорабатывать интерфейс после объявления включения в Android 16.
У меня дома стоит робот‑пылесос, и часть функций управления им на Pixel 9 Pro стала недоступна: кнопка меню уезжает под системный статус‑бар, и повлиять на это я никак не могу. В результате получаю дискомфорт, производителю пылесоса всё равно, Google — тоже.
Считаю, что в такой ситуации Google могла бы поступить по‑другому:
Google формально двигает UI вперёд, но забывает, что за качество приложений отвечает магазин и именно он должен жёстко требовать соответствия современным гайдлайнам. Видно, с кого берут пример, но Apple хотя бы последовательно принуждает разработчиков внедрять нововведения из свежих версий iOS и просто не даст опубликовать приложение в App Store без поддержки нужных требований, а это в большинстве регионов единственный официальный способ распространения софта на iOS.
#android #android16 #edgetoedge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85👎16❤2🔥1🤔1
Сталкиваетесь с проблемами из-за Edge-to-edge в Android 16 (интерфейс во весь экран)
Anonymous Poll
46%
Да
28%
Нет
12%
У меня версия Android меньше 16
7%
Я на iOS
1%
Что это?
0%
Другой вариант
5%
Не участвую в опросе
👍7👎4
💻 Как убеждать команду, клиентов и стейкхолдеров?
Если вы всё ещё “продаёте” свои идеи через голую логику и здравый смысл — вы сильно себе усложняете жизнь. Есть инструмент проще.
Вот идея для апгрейда: книга, которая учит управлять решениями людей на психологическом уровне.
💡 «Психология влияния» Роберта Чалдини — это практическое руководство для всех, кто работает в IT: тимлидов, продакт-менеджеров, техлидов, DevRel-специалистов.
Что внутри?
⏺️ Понятные модели мотивации и принятия решений — без мистики, только научный подход к влиянию
⏺️ Практические паттерны убеждения для презентаций и переговоров
⏺️ Инструменты, которые помогают договариваться с командой, менеджментом и заказчиками, а не упираться в “давай потом”
🎁 Скидка 5% по промокоду
Новое, переработанное издание — must-have для каждого IT-специалиста, который хочет расти не только технически, но и развивать soft skills: от аргументации до переговоров.
#реклама
Если вы всё ещё “продаёте” свои идеи через голую логику и здравый смысл — вы сильно себе усложняете жизнь. Есть инструмент проще.
Вот идея для апгрейда: книга, которая учит управлять решениями людей на психологическом уровне.
Что внутри?
🎁 Скидка 5% по промокоду
broadcast
Новое, переработанное издание — must-have для каждого IT-специалиста, который хочет расти не только технически, но и развивать soft skills: от аргументации до переговоров.
#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
👎19👍6🤔2🤯1
#android #docker
Please open Telegram to view this post
VIEW IN TELEGRAM
👎9👍2🔥1
Открывайте настройку IDE и ищите в разделе
Editor -> Inlay Hints -> Declarations generated by Kotlin compilerAndroid Studio содержит фичу с версии Panda Canary 4
Спасибо за эту фичу Жене Ф.
#androidstudio #idea
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍88🔥25🤔7👎5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Вышла новая стабильная версия Android Studio - Otter 3 Feature Drop и в ней Google сделала верный шаг касательно AI, потому не всем подойдет их решение, а кто-то и вовсе из-за политик компании должен использовать внутренние решения. Вы можете настроить свою модель в настройках IDE в разделе "Tools" -> "AI" -> "Model Providers"
Из чатов я видел что не всех получилось заводить на стабильной версии, а вот в самое свежей Canary версии работало. Сегодня буду тестировать как оно вообще.
Источник - developers.android.com
#AndroidStudio #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥16👎6❤2
This media is not supported in your browser
VIEW IN TELEGRAM
В свежем релизе Android Studio Otter стала доступна фича Journeys. Идея звучит хайпово: вы пишете сценарий теста на обычном ествественном языке, а магия AI превращает это в воспроизводимый UI-тест.
Как это работает?
- Вы описываете шаги (например, “открой корзину”, “проверь наличие товара”)
- Journeys парсит это и сохраняет в проект специальный файл (не код) в папке
journeysTest.- Тесты можно запускать прямо из студии или через командную строку (gcloud).
😮 В чём подвох?
Несмотря на удобство «написания», вопросы к инфраструктуре остаются открытыми:
👉 Привязка к Google Cloud: Чтобы запустить эти тесты через CLI, нужна авторизация в gcloud. Без интернета и доступа к серверам Google магия парсинга не сработает.
👉 Изолированный контур: Если ваш CI/CD живет в закрытой сети, внедрить Journeys будет тем еще квестом.
👉 Масштабируемость: Насколько стабильно AI будет интерпретировать изменения в UI спустя время?
Лично я пока настроен скептически. Старый добрый Kaspresso или Compose Test Framework на Kotlin кажутся надежнее — они не требуют облаков, легко поддерживаются и работают в любом «подвале» без интернета. Да и генерировать код с AI совсем просто и поддерживается понятнее.
Journeys выглядит как классная игрушка для прототипов, но в продакшене больших проектов может стать сложностью.
🔗 Подробнее про Journeys for Android Studio в документации
#androidstudio #ai #тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍9👎6🔥2
# Пример файла Journey теста
journey:
name: "Add item to cart from catalog"
id: "add_to_cart_from_catalog"
tags:
- checkout
- smoke
setup:
device:
orientation: portrait
locale: en_US
app:
startActivity: ".ui.MainActivity"
steps:
- denoscription: "Open catalog screen"
action: "Tap on the 'Catalog' bottom navigation item"
- denoscription: "Open product details"
action: "Tap on the first product in the list"
- denoscription: "Add product to cart"
action: "Tap on the 'Add to cart' button"
- denoscription: "Open cart screen"
action: "Tap on the cart icon in the top app bar"
assertions:
- denoscription: "Cart has 1 item"
check: "Verify that cart item count is 1"
- denoscription: "Item noscript is visible"
check: "Verify that the product noscript is visible in the cart"
meta
owner: "checkout-team"
severity: "critical"
createdBy: "gemini"
👎14❤4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Копался в новых фичах Android Studio и не могу понять почему у меня нету фичи
Изучал почему, а потом случайно нашел, что надо включить шаринг контекста всего проекта и в меню появились дополнительные опции. Сделано супер неочевидно.
#AndroidStuduio #Android #AndroidDev #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍29👎10❤6🤔5
Android Broadcast
#AndroidBroadcast #AndroidStudio #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
👎26👍5
🤯 Dagger Hilt блокирует переход на AGP 9.0
Android Gradle Plugin 9.0 официально зафиксировал новый стабильный конфигурационный API (вышла стабильная версия с релизом AS Otter FD 3) — это одно из самых значимых изменений в инфраструктуре Android и Kotlin Multiplatform за последние годы. Цели понятны и правильные лучше работа с кэшем и общая скорость сборок. Подробнее про все изменения я писал в отдельном посте
Google несколько релизов подряд аккуратно готовил экосистему к этому переходу, заранее добавив новый API и дав время авторам плагинов адаптироваться. Но на практике всё упирается в плагины.
Я столкнулся с тем, что Gradle-плагин Dagger Hilt до сих пор использует старую модель конфигурации и несовместим с новым DSL из AGP 9.0. В результате проект нельзя перевести на новую версию без отключения Hilt или включения режим совместимости. Иронично, что именно официальный инструмент от Google сейчас становится блокером для обновления.
Да, в AGP оставили compatibility-флаги, позволяющие продолжать сборку по старым правилам. Это спасает проекты от немедленного падения, но полностью отключает все ключевые преимущества AGP 9.0 — configuration cache, ускоренную конфигурацию и новую модель плагинов.
💬 Вы уже пробовали миграцию на AGP 9.0? Что блокирует? Делитесь в комментариях мнением.
UPD. По заявлениям подписчиков также есть проблемы в работе KAPT и KSP
#Android #AndroidDev #Gradle #Dagger #Hilt
UPD. 21 января вышел Dagger 2.59 с поддержкой AGP
Android Gradle Plugin 9.0 официально зафиксировал новый стабильный конфигурационный API (вышла стабильная версия с релизом AS Otter FD 3) — это одно из самых значимых изменений в инфраструктуре Android и Kotlin Multiplatform за последние годы. Цели понятны и правильные лучше работа с кэшем и общая скорость сборок. Подробнее про все изменения я писал в отдельном посте
Google несколько релизов подряд аккуратно готовил экосистему к этому переходу, заранее добавив новый API и дав время авторам плагинов адаптироваться. Но на практике всё упирается в плагины.
Я столкнулся с тем, что Gradle-плагин Dagger Hilt до сих пор использует старую модель конфигурации и несовместим с новым DSL из AGP 9.0. В результате проект нельзя перевести на новую версию без отключения Hilt или включения режим совместимости. Иронично, что именно официальный инструмент от Google сейчас становится блокером для обновления.
Да, в AGP оставили compatibility-флаги, позволяющие продолжать сборку по старым правилам. Это спасает проекты от немедленного падения, но полностью отключает все ключевые преимущества AGP 9.0 — configuration cache, ускоренную конфигурацию и новую модель плагинов.
UPD. По заявлениям подписчиков также есть проблемы в работе KAPT и KSP
#Android #AndroidDev #Gradle #Dagger #Hilt
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯34👎6❤3👍2🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Инженеры из Block (бывший Square) открыли исходники Trailblaze — фреймворка, который позволяет писать Android UI-тесты на естественном языке.
Идея заключается в том, чтобы вместо классического "найди кнопку по id, кликни, проверь текст" пишешь: "Открой экран профиля, измени имя на John, сохрани изменения". AI-агент сам понимает, как это сделать.
Как это работает:
👉 Встраивается в обычные instrumentation-тесты
👉 Под капотом используется Maestro для отправления UI команд
👉 Под капотом использует кастомный on-device драйвер для Maestro
👉 Можно расширять функциональность через свои TrailblazeTool
👉 Генерирует детальные отчёты с трейсами выполнения
👉 Можно использовать разные модели через провайдеров
// Пример теста
@Test
fun myTest() {
trailblaze.execute(
"""
Open profile,
change name to John,
save
"""
)
}
Подход не заставляет перестраивать CI/CD с нуля — используешь существующую инфраструктуру (Gradle, Espresso, UiAutomator). Постепенное внедрение AI-тестов рядом с обычными.
Проект свежий, но за ним стоит опыт команды из крупной финтех-компании. Посмотрим, как будет развиваться.
📄 Документация
#AI #тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👎15🔥9👍2
В Ergostol решили прокачать ваши рабочие места 🔧✨
Открыт предзаказ со скидкой –20% на обновлённый хит Ergostol Optima 3.0 и станцию продуктивности Ergostol Combo в интернет‑магазине ergostol.ru 🚀
Optima 3.0 — регулируемый стол с облегчённой рамой и пультом нового поколения:
🔵 3 запоминаемые высоты
🔵 защита от детей
🔵 гироскоп от столкновений
🔵 USB Type‑C для зарядки гаджетов 💡
Combo — рабочая станция с регулировкой по высоте, выдвижным ящиком, таймером активности и USB‑портами для ваших устройств 📚⚡️
🎁 С промокодом
Не тяните, предзаказ по суперцене действует ограниченное время 🆕📦
Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
Открыт предзаказ со скидкой –20% на обновлённый хит Ergostol Optima 3.0 и станцию продуктивности Ergostol Combo в интернет‑магазине ergostol.ru 🚀
Optima 3.0 — регулируемый стол с облегчённой рамой и пультом нового поколения:
Combo — рабочая станция с регулировкой по высоте, выдвижным ящиком, таймером активности и USB‑портами для ваших устройств 📚⚡️
🎁 С промокодом
ANDROID10 — ещё –10% на все столы и опции к ним! Не тяните, предзаказ по суперцене действует ограниченное время 🆕📦
Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
Please open Telegram to view this post
VIEW IN TELEGRAM
👎23🔥5👍2
PiP на Android долго был зоопарком: разный API на версиях, разный UI‑стейт, много
if (SDK_INT…) и бойлерплейта. Новая Jetpack‑библиотека androidx.core:core-pip как раз и создана, чтобы это спрятать: она выравнивает вызовы PiP между версиями Android, даёт единый способ задавать параметры (особенно для видео/плееров), объединяет разрозненные колбэки состояния PiP и уменьшает количество кода за счёт готовых пресетов действий для типовых сценариев.Требования: обновляем Activity
Чтобы всё это заработало, мало просто подключить
core-pip — нужно обновиться до свежей Activity 1.13.0 (пока в альфе). В этой версии есть новые API для отслеживания состояния PiP (PictureInPictureUiStateCompat и слушатели), на которых удобно строить логику поведения UI, когда окно уходит в PiP или, например, «прячется» в угол.// Пример кода: реагируем на состояние PiP
class PlayerActivity : ComponentActivity() {
private val pipUiStateListener =
Consumer<PictureInPictureUiStateCompat> { state ->
if (state.isStashed) {
/* спрятать контролы плеера */
} else {
/* показать контролы плеера */
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ... инициализация UI / плеера ...
addOnPictureInPictureUiStateChangedListener(pipUiStateListener)
}
override fun onDestroy() {
removeOnPictureInPictureUiStateChangedListener(pipUiStateListener)
super.onDestroy()
}
}
🔗 Подробности про библиотека в документации
#Android #AndroidDev #AndroidJetpack #PIP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45🔥9👎6❤1
На скриншоте к посту Linux, запущенный на Pixel Tablet.
#Android #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39👎4🤔4👍2❤1
Android Broadcast
🤯 Dagger Hilt блокирует переход на AGP 9.0 UPD. 21 января вышел Dagger 2.59 с поддержкой AGP Android Gradle Plugin 9.0 официально зафиксировал новый стабильный конфигурационный API (вышла стабильная версия с релизом AS Otter FD 3) — это одно из самых значимых…
🔥 В Dagger 2.59 добавили поддержку AGP 9.0. Одним блокером для миграции на AGP 9.0 стало меньше
#Android #Gradle
#Android #Gradle
🔥50👍16👎5🤯2🎉1
Android Broadcast
🔥 В Dagger 2.59 добавили поддержку AGP 9.0. Одним блокером для миграции на AGP 9.0 стало меньше #Android #Gradle
Сразу после выхода Dagger с поддержкой AGP стал пробовать миграцию на AGP 9.0. Блокером послужил baselineprofile Gradle plugin. Текущая его стабильная версия 1.4.1 не поддерживает новый DSL, но зато альфа версия 1.5.0-alpha01 (вышла 17 декабря 2025) уже работает.
Учитывая, что это не влияет на код в рантайте, то я бы обновился в проде.
#Android #Gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👎7🔥3