技术摘要:
本发明公开了一种用户界面过度绘制的检测方法和装置。所述方法包括:获取对应用程序源码文件执行预设检查的检查结果;从检查结果中查找预设的字符串,根据查找到的字符串匹配出应用程序源码中包括的存在过度绘制的用户界面源码的过度绘制信息。能够自动检测应用程序的 全部
背景技术:
操作系统,例如安卓系统的应用程序(Application,APP)中常常会存在用户界面 (User Interface,UI)的过度绘制。过度绘制是指屏幕上的某个像素区域在同一帧内被绘 制了多次。手机为了保持视觉的流畅度,其屏幕刷新频率通常设为60hz,即在1000/60= 16.67ms内更新一帧,过度绘制不仅浪费了大量的CPU以及GPU资源,还容易使得UI无法在设 定频率内更新到下一帧而发生掉帧,造成UI卡顿。 现有技术中,过度绘制的检查主要靠人工点击测试来完成。而通过人工肉眼观察 的方法来判断费时费力,且人工主观判断容易出现错误,尤其是在检测人员视觉疲惫的情 况下。
技术实现要素:
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的一种用户界面过度绘制的检测方法和装置。 第一方面,本发明实施例提供一种用户界面过度绘制的检测方法,包括: 获取对应用程序源码文件执行预设检查的检查结果; 从所述检查结果中查找预设的字符串,根据查找到的所述字符串匹配出应用程序 源码中包括的存在过度绘制的用户界面源码的过度绘制信息。 在一些可选的实施例中,获取对应用程序源码文件执行预设检查的检查结果,包 括: 获取对应用程序源码文件指定目录下的数据执行静态代码分析的检查结果。 在一些可选的实施例中,所述过度绘制信息包括: 所述存在过度绘制的用户界面源码所在文档名称、所在文档中的位置和所在文档 的路径。 在一些可选的实施例中,根据查找到的所述字符串匹配出应用程序源码中包括的 存在过度绘制的用户界面源码的过度绘制信息后,还包括: 将过度绘制信息与预先建立的免检视图列表匹配; 若匹配成功,忽略所述过度绘制信息; 若匹配失败,将所述过度绘制信息写入过度绘制报告。 在一些可选的实施例中,将过度绘制信息与预先建立的免检视图列表匹配,包括 执行下述至少一项: 将所述过度绘制信息包括的存在过度绘制的用户界面源码所在文档的名称与预 先建立的免检视图列表中的免检源码对应的文档名称匹配; 3 CN 111611153 A 说 明 书 2/7 页 将所述过度绘制信息包括的存在过度绘制的用户界面源码所在文档中的位置与 所述免检视图列表中的免检源码对应的位置匹配; 将所述过度绘制信息包括的存在过度绘制的用户界面源码所在文档的路径与所 述免检视图列表中免检源码对应的文档路径匹配。 在一些可选的实施例中,上述方法,还包括: 当没有匹配失败的过度绘制信息时,将所述应用程序源码文件打包,生成所述应 用程序的安装包。 第二方面,本发明实施例提供一种界面过度绘制的检测装置,包括: 获取模块,用于获取对应用程序源码文件执行预设检查的检查结果; 查找模块,用于从所述获取模块获取的所述检查结果中查找预设的字符串; 第一匹配模块,用于根据所述查找模块查找到的所述字符串匹配出应用程序源码 中包括的存在过度绘制的用户界面源码的过度绘制信息。 在一些可选的实施例中,所述获取模块,具体用于: 获取对应用程序源码文件指定目录下的数据执行静态代码分析的检查结果。 在一些可选的实施例中,上述装置,还包括: 第二匹配模块,用于将所述第一匹配模块匹配出的过度绘制信息与预先建立的免 检视图列表匹配;若匹配成功,忽略所述过度绘制信息;若匹配失败,将所述过度绘制信息 写入过度绘制报告。 第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机指令, 当该指令被处理器执行时实现上述用户界面过度绘制的检测方法。 第四方面,本发明实施例提供一种检测器,包括:存储器、处理器及存储于存储器 上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述 用户界面过度绘制的检测方法。 本发明实施例提供的上述技术方案的有益效果至少包括: 获取对应用程序源码文件执行预设检查的检查结果;从检查结果中查找预设的字 符串,根据查找到的字符串匹配出应用程序源码中包括的存在过度绘制的用户界面源码的 过度绘制信息。能够自动检测应用程序的用户界面过度绘制情况,无需人工干预,节省了人 力成本,且避免了人为操作错误,从而大大提高了检测效率和准确度;可以更便捷、更准确 的帮助研发人员发现过度绘制的问题,节省了内存资源,提高了应用程序的用户体验度。 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 附图说明 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例一起用于解释本发明,并不构成对本发明的限制。在附图中: 图1为本发明实施例一中所述用户界面过度绘制的检测方法的流程图; 图2为本发明实施例二中所述用户界面过度绘制的检测方法具体实现流程图; 4 CN 111611153 A 说 明 书 3/7 页 图3为本发明实施例中所述用户界面过度绘制的检测装置的结构示意图。