Layout Inspector, который не лагает
Довольно давно пользуюсь Flipper Layout Plugin. Это мощный инструмент, который может отображать семантическое дерево и даже позволяет редактировать параметры View. C ним было удобно найти разного рода баги, проследить какая ViewGroup отвечает за размеры контента, как прокидываются паддинги, как применяются insents и прочее.
И вот в один день в мае пришел ко мне коллега, которому я до этого рекомендовал Layout Plugin, с новостями о том, что появился плагин для Compose. Оказалось, что они сделали его еще в прошлом году. Я бросился изучать как именно и что они сделали. В общем не увидел какого-то Rocket Science, а скорее код, который ранее уже видел в исходниках Layout Inspector в Android Studio. Вот например, LayoutInspectorThree, где они вытаскиваю SemanticsNode
. И тот же класс в коде AS. Или, например, RecompositionHandler, который хукает виртуальную машину ART для подсчета количества рекомпозиций и пропусков. Вот он в исходниках AS.
В любом случае, все выглядело круто. Даже если код скопирован, есть шансы на то, что этот инструмент гибче и его можно сколько угодно допиливать, так как под рукой все SemanticsNode
, а там можно и все Modifier.Node
вытащить. Поэтому надо пробовать запустить. Но, к сожалению, первая попытка не увенчалась успехом:
Видимо, часть кода они скопировали, а часть вынесли в виде aar
. Я так понял, что это локально собранная версия этой библиотеки, но поновее, так как, если заменить библиотеку механизмами Gradle, то при сборке не найдутся некоторые классы. Я не перый, кто пытался запустить этот плагин, но с тех пор, как его сделали, во Flipper не очень-то и хотели его развивать. Ну так может показаться по issues, которые висят, и по отсутствию новых коммитов.
В тот раз остановился на этом месте и мне было лень дальше пытаться запустить его :) Да, надо было просто опубликовать нормальную версию библиотеки inspection или скачать aar
из их репозитория и подключить так. Но, с учетом того, что я пропал на несколько месяцев, времени для этой авантюры не нашлось...
И вот недавно тестировал еще один инструмент, о котором напишу отдельно, и решил проверить его тут. Опять же, для этого надо было просто опубликовать недостающий aar
и наконец запустить, ибо Layout Inspector уже невозможно терпеть. Честно сказать, был приятно удивлен тому, как это быстро работает и не лагает.
Рекомендую самим попробовать. Держите инструкцию как подключить плагин и там же пример проекта с ним.
Опубликовано в Полуночные Зарисовки