如何提高遍历pocoUI树的效率
工作中经常碰到需要遍历pocoUI树的情况。不同的写法差别很大,写个博客记录一下。
poco的实例,存储了整个项目的UI树,体积可能非常大。
以我手头的项目为例,其完整的UI树,以字典形式存在txt文本里,容量高达272k。
poco树中的各种控件都有其属性,下面就以这个“UICarmeraRoot”对象为例进行各种写法的效率比对。
在对该poco实例进行操作前,先简单对其遍历一遍,看看耗时多少。
可知:遍历一个272k的字典,python只需要0.48秒。
1.offspring()
查询UI树里,最偷懒的写法就是直接生成一个全树的实例,然后取其所有后代,再在其后代中逐个查找符合条件的属性对应的对象。
示例代码为:
uioffspring=poco("UIRoot(Clone)"