gpt4 book ai didi

android - 为什么 HierarchyViewer 的 findViewById 如此缓慢?

转载 作者:太空宇宙 更新时间:2023-11-03 13:31:02 25 4
gpt4 key购买 nike

找到一些 UI 控件(例如按钮)需要 5-6 秒。

两个问题:

1)为什么这么慢?

2) 有没有办法让它更快或找到 UI 控件的替代解决方案(在 monkeyrunner 测试范围内)

最佳答案

我稍微研究了一下 Android 源代码,发现当您在 monkeyrunner 中使用 findViewById 搜索控件时,它实际上会遍历 Android 中所有正在运行的窗口上的所有控件。

因此,如果您有一些 Activity 已暂停(且不可见),但未被销毁,findViewById 将花时间搜索它。

我现在有几个想法

a) 在 HierarhyViewer 上使用 getFocusedWindowName API 检查是否显示了正确的窗口。首先尝试搜索此窗口,然后在 findViewById(id, parent) 方法中将其指定为父窗口。这样,我们就不会搜索 Android 上的所有窗口。

2) 尝试绕过 com.android.chimpchat.hierarchyviewer.HierarchyViewer 提供的接口(interface)并直接转到 DeviceBridge 类(它为同一协议(protocol)提供了较低级别)。在这种情况下,我们可以精确指出应该搜索哪个窗口,而不是获取所有窗口的所有控件。

正如罗曼指出的那样。 HierarchyViewer 将来可能会发生变化。但是,作为测试自动化的一部分,我没有看到任何其他替代品。

关于android - 为什么 HierarchyViewer 的 findViewById 如此缓慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13258277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com