[发明专利]用户界面卡顿监控方法、装置及存储介质有效
申请号: | 202010401637.7 | 申请日: | 2020-05-12 |
公开(公告)号: | CN111639004B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 吴伟江 | 申请(专利权)人: | 腾讯音乐娱乐科技(深圳)有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 李汉亮 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用户界面 监控 方法 装置 存储 介质 | ||
1.一种用户界面卡顿监控方法,其特征在于,包括:
创建卡顿监控对象,所述卡顿监控对象用于监控主线程绘制用户界面的任务,以及获得预设引用,其中所述预设引用用于与一对象进行关联,以通过所述预设引用调用对象;
将所述预设引用与所述卡顿监控对象关联;
在所述主线程执行绘制用户界面的任务过程中,监控所述预设引用是否关联所述卡顿监控对象;
若所述预设引用未关联所述卡顿监控对象,则获得所述预设引用当前关联的对象;
判断所述预设引用当前关联的对象是否为空;
若所述预设引用当前关联的对象为空,则重新建立所述卡顿监控对象与所述预设引用之间的关联关系;
若所述预设引用当前关联的对象不为空,则将所述预设引用当前关联的对象以及所述卡顿监控对象加入到预先设置的引用队列对象当中,并建立预设引用与所述引用队列对象的关联关系,其中所述引用队列对象用于接收到引用消息后,将所述引用消息分发至所述引用消息对应的对象。
2.如权利要求1所述的用户界面卡顿监控方法,其特征在于,监控所述预设引用是否关联所述卡顿监控对象,包括:
创建监控线程;
通过所述监控线程监控主进程绘制用户界面所消耗的时长;
若所述时长达到预设时长阈值且所述绘制用户界面的任务未结束,则对所述卡顿监控对象进行反射以获得所述卡顿监控对象的当前引用;
检查所述卡顿监控对象的当前引用是否为所述预设引用;
若所述卡顿监控对象的当前引用为所述预设引用,则确定所述预设引用关联所述卡顿监控对象;
若所述卡顿监控对象的引用不为所述预设引用,则确定所述预设引用未关联所述卡顿监控对象。
3.如权利要求1所述的用户界面卡顿监控方法,其特征在于,监控所述预设引用是否关联所述卡顿监控对象的步骤,包括:
获得所述卡顿监控对象包括的垃圾回收相关方法;
在所述垃圾回收相关方法中检测是否发生垃圾回收事件;
若发生垃圾回收事件,则确定所述预设引用未关联所述卡顿监控对象;
若未发生垃圾回收事件,则确定所述预设引用关联所述卡顿监控对象。
4.如权利要求1所述的用户界面卡顿监控方法,其特征在于,在建立预设引用与所述引用队列对象的关联关系之后,所述方法还包括:
当所述引用队列对象接收到回调消息时,确定所述回调消息在所述引用队列对象中对应的目标对象;
控制所述引用队列对象将所述回调消息分发至所述目标对象,以使所述目标对象接收所述回调消息 。
5.一种用户界面卡顿监控装置,其特征在于,包括:
设置单元,用于创建卡顿监控对象,所述卡顿监控对象用于监控主线程绘制用户界面的任务,以及获得预设引用,其中所述预设引用用于与一对象进行关联,以通过所述预设引用调用对象;
关联单元,用于将所述预设引用与所述卡顿监控对象关联;
监控单元,用于在所述主线程执行绘制用户界面的任务过程中,监控所述预设引用是否关联所述卡顿监控对象;
重设单元,包括判断子模块和重设子模块,所述判断子模块,用于当所述预设引用未关联所述卡顿监控对象时,获得所述预设引用当前关联的对象,并判断所述预设引用当前关联的对象是否为空;
所述重设子模块,用于当所述预设引用当前关联的对象为空时,重新建立所述卡顿监控对象与所述预设引用之间的关联关系,当所述预设引用当前关联的对象不为空时,将所述预设引用当前关联的对象以及所述卡顿监控对象加入到预先设置的引用队列对象当中,并建立预设引用与所述引用队列对象的关联关系,其中所述引用队列对象用于接收到引用消息后,将所述引用消息分发至所述引用消息对应的对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯音乐娱乐科技(深圳)有限公司,未经腾讯音乐娱乐科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010401637.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于轴向过载的两级飞行器分离时刻判别方法
- 下一篇:养老服务平台管理系统