遍历 AccessibilityNodeInfo 报 StackOverflowError

栏目: IOS · Android · 发布时间: 6年前

内容简介:在使用 AccessibilityService 遍历包含 WebView 的 AccessibilityNodeInfo 时会在某些情况下必现最近使用 Android 的 AccessibilityService 做一些自动化操作时发现,在部分机器上遍历包含 WebView 页面的 AccessibilityNodeInfo 时,某些页面必定会引起相关说明可以参考

在使用 AccessibilityService 遍历包含 WebView 的 AccessibilityNodeInfo 时会在某些情况下必现 StackOverflowError 的错误,导致应用崩溃。

0x00 异常

最近使用 Android 的 AccessibilityService 做一些自动化操作时发现,在部分机器上遍历包含 WebView 页面的 AccessibilityNodeInfo 时,某些页面必定会引起 StackOverflowError 错误,经过一番查证,定位到主要与系统所使用的 Android System WebView 版本有关,属于 WebView 的 Bug。

相关说明可以参考 Android: Infinite loop of FrameLayouts in accessibility tree 的讨论。

查看 Android System WebView 版本(以下2种方法任一均可):

  1. 应用程序
    1. 菜单:显示系统应用程序
    2. 点击列表中的:Android System WebView
    3. 详情页内包含版本
  2. 开发者选项
    1. 开启「开发者选项」
    2. 开发者选项 -> WebView 实现

0x01 解决

方法有2种:

StackOverflowError

当然,方法2更具有可控性和兼容性,某些情况下我们并不能左右用户手机上 Android System WebView 的版本。

0x02 总结

此类情况发生在特定的 Android System WebView 和 Android 版本上,建议使用了相关功能的应用加上 Bug 上报的功能。

如果有什么建议或者问题可以随时联系我,共同探讨学习:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数字麦克卢汉

数字麦克卢汉

(美)保罗﹒莱文森(Paul Levinson) / 何道宽 / 社会科学文献出版社 / 2001年 / 20.0

本书是一本三合一的书。既是麦克卢汉评传,又是一部专著,而且是让网民“扫盲”和提高的指南。 《数字麦克卢汉》实际上有两个平行的主题和任务。一个是批评和张扬麦克卢汉。另一个是写作者自己的思想。它“不仅谋求提供进入数字时代的向导……而且谋求证明麦克卢汉思想隐而不显的准确性。为了完成这个双重任务,本书的每一章都试图阐明麦克卢汉的一种重要的洞见、原则或概念。与此同时,它试图揭示麦克卢汉告诉我们一些什么......一起来看看 《数字麦克卢汉》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试