简化屏外文字标签识别遍历逻辑并降低内存占用

 爱摸鱼点击工具     |      2026-01-24 10:49:39


目标

1、 屏外文字标签识别阶段不加 Rect(0,0,screenWidth,screenHeight) 的区域限制,但保持仅在当前 APP 的无障碍树内遍历。

2、简化识别逻辑、减少内存占用;识别后的滑动与后续处理保持不变。


修改点

1、移除全屏文本聚合的 StringBuilder,避免拼接全量文本造成内存消耗。

2、使用 matchedAny 记录是否存在任意关键词命中,替代对全屏文本的二次匹配。

在遍历时:

1)、保持包名过滤,防止跨应用节点被识别。

2)、优先提取精确命中坐标(exactCoord),命中后立即停止递归,降低遍历开销。

3)、若无精确命中,记录首个部分命中坐标(partialCoord)。

4)、滑动与校正后的重遍历逻辑未改动。

代码参考


1、删除 allTexts

2、 引入 matchedAny

3、exact 命中后短路返回

4、matched = baseCoord != null || matchedAny

效果


1、不限制区域(无 Rect 限制),但仅在当前 APP 节点树内识别。

2、内存占用更低,遍历开销更小;保持识别成功后滑动校正逻辑原样运行。

3、 行为与普通文字识别的“不限制区域”一致,同时避免误识别桌面或系统层文字。