[发明专利]界面线程可视化方法、装置、计算机设备及存储介质在审
申请号: | 202010038478.9 | 申请日: | 2020-01-14 |
公开(公告)号: | CN111273980A | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 蔡少康 | 申请(专利权)人: | 中国平安财产保险股份有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 深圳市世联合知识产权代理有限公司 44385 | 代理人: | 汪琳琳 |
地址: | 518000 广东省深圳市福田区益田路*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 界面 线程 可视化 方法 装置 计算机 设备 存储 介质 | ||
本申请实施例属于计算机领域,涉及一种界面线程的可视化方法,包括获取界面线程的堆栈中的函数;根据每个函数在堆栈中的位置确定每个函数的栈层级和父函数;然后根据函数的栈层级和父函数确定顶点和各个节点的位置以及连接关系以形成函数树,继而形成包含有多个函数树的函数森林;检测界面的运行是否存在卡顿情况,当存在卡顿情况时,在交互界面展示函数森林。本申请还提供一种界面线程的可视化装置、计算机设备及存储介质。本申请能够实现界面线程的可视化,解决了现有技术中判断界面线程异常情况时存在的效率低、容易误判的问题。
技术领域
本申请涉及计算机领域,尤其涉及界面线程的可视化方法、装置、计算机设备及存储介质。
背景技术
为了保证交互界面的稳定,终端设备的系统中通常会为交互界面的处理任务创建独特的界面线程。界面线程中通常只执行交互界面刷新等操作,一般不执行文件、网络等耗时较大的操作。所以当交互界面出现异常情况时,开发人员往往会通过人工查看界面线程来对异常情况进行判断,但是这种做法效率低,容易误判,例如,查看界面线程时由于是人工的实时查看,异常的任务可能已经执行完毕,此时查看界面线程已无法判断出真正的异常情况,而且人工在开发环境中查看界面线程也是一项繁琐的任务。
发明内容
本申请实施例的目的在于提出一种界面线程的可视化方法、装置、计算机设备及存储介质,以解决现有技术中判断界面线程异常情况时存在的效率低、容易误判的问题。
为了解决上述技术问题,本申请实施例提供一种界面线程的可视化方法,采用了如下所述的技术方案:
获取界面线程的堆栈中的调用函数;
根据每个调用函数在堆栈中的位置确定界面线程的栈底函数和每个调用函数的栈层级、父函数;
根据栈底函数和每个调用函数的栈层级、父函数构建所述调用函数的函数树以形成函数森林;
检测界面的运行是否存在卡顿情况,当存在卡顿情况时,在交互界面展示所述函数森林。
进一步的,所述根据栈底函数和每个调用函数的栈层级、父函数构建所述调用函数的函数树以形成函数森林包括:
判断栈底函数是否存在函数森林中;
若存在,则以函数森林中的栈底函数为树的顶点,以存在父函数的调用函数为树的节点,并根据调用函数的栈层级和父函数确定顶点和各个节点的位置以及连接关系以形成函数树;
若不存在,则在函数森林中将栈底函数新建为一个树的顶点,以存在父函数的调用函数为树的节点,并根据调用函数的栈层级和父函数确定顶点和各个节点的位置以及连接关系以形成函数树。
进一步的,所述根据栈底函数和每个调用函数的栈层级、父函数构建所述调用函数的函数树以形成函数森林还包括:
对函数森林中的每一个函数树的每一个节点进行检测;
在检测到同一个函数树的同一栈层级中存在相同的调用函数时,将表示同一个调用函数的节点合并为一个节点;
对函数树中的每一个节点赋予一个权值,其中合并后节点的权值根据所合并的节点的个数设置。
进一步的,所述对函数树中的每一个节点赋予一个权值,其中合并后节点的权值根据所合并的节点的个数设置之后还包括:
计算两个函数向量之间的相似值;
当所述相似值大于相似阈值时,计算两个调用函数的权值差值;
当所述权值差值大于追溯阈值时,将权值较大的调用函数对应的权值的一部分转移至权值较小的调用函数对应的权值。
进一步的,所述根据栈底函数和每个调用函数的栈层级、父函数构建所述调用函数的函数树以形成函数森林还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国平安财产保险股份有限公司,未经中国平安财产保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010038478.9/2.html,转载请声明来源钻瓜专利网。