LayoutInspectorV2-Pro 插件让 LayoutInspector 更好用

3,138 阅读2分钟

背景

作为一名 Android 开发者,我们经常需要用到 dump view 的功能,我们大多数人都使用过 Legacy-Layout-LayoutInspector(LLI)。

在 2020 年的时候,我在微信公众上写了一篇如何 《如何打造稳定、好用的 Android LayoutInspector?》,两年时间过去了,随着最近发布的 Android Studio Bumblebee,LLI 被 google 删除了,但其实我不是很喜欢用最新版本的 LayoutInspector,或者说不适应吧。

于是我利用业余时间将已经删除的 LLI 手动搬运到了新插件中,并且基于 LLI 做了两个较为关键的修改,使得 dump 的速度更快,也能更方便容易的选择 View 了。(这个也是两年前的文章提及的)

本篇文章的相关源码在:github.com/CoXier/Layo…

安装 LayoutInspectorV2-Pro 和使用方法

在插件市场中搜索 LayoutInspectorV2-Pro,安装后重启 AndroidStudio/Intellij IDEA。

image.png

你可以在“工具”菜单中轻松找到该插件的入口。点击后,LayoutInspectorV2-Pro 生成一个带有 .liv2 扩展名的文件,这个文件和 .li 很类似。

your-image

更快的 Dump 速度

其实 LLI 本身提供了两个 ProtocolVersions:ProtocolVersions.V1ProtocolVersions.V2。LLI 默认使用 V1 版本进行转储,但 V1 版本非常慢,你可能会看到一个弹出窗口警告超时。不幸的是,只有内部谷歌工程师可以使用 V2 版本。

image.png

LayoutInspectorV2-Pro 默认使用 V2 版本,dump 的速度快了很多。我在我自己的 OnePlus 7 上进行了测试,测试场景分别是 3000、4000、5000 view。

ProtocolVersions.V1 (ms),ProtocolVersions.V2 (ms) (1).png

更容易选中 View

许多使用 LLI 的 Android 开发人员可能会困惑于其默认的选择算法,它优先选择最顶层的视图。然而,在大多数情况下,View 的大小会更加合适一点。

使用 LayoutInspectorV2-Pro,将比较视图之间的区域大小,以确保选择最合适的视图。例如,如果存在两个视图 A 和 B,并且 B 在 A 的上方,LLI 可能不选择 A,因为 B 更大并覆盖 A。

image.png

在 LayoutInspectorV2-Pro 中,将比较 A 和 B 之间的区域大小,选择 A,因为它比 B 更小。这种方法确保选择最适当的视图。