System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种任务耗时的监控方法、装置、设备及介质制造方法及图纸_技高网

一种任务耗时的监控方法、装置、设备及介质制造方法及图纸

技术编号:44565144 阅读:1 留言:0更新日期:2025-03-11 14:23
本发明专利技术涉及计算机技术领域,尤其涉及一种任务耗时的监控方法、装置、设备及介质,通过响应于接收到用于指示启动预设应用程序的指令,在主线程中添加预设的循环任务,并记录预设的循环任务在执行消息处理任务的开始时间,获取当前任务进程的消息队列,并从消息队列中获取出预执行的目标消息,执行目标消息并在任务进程结束后记录消息处理任务的结束时间,根据开始时间与结束时间,确定主线程执行消息处理任务的任务耗时。可见,本申请通过在主线程添加预设的循环任务,以便在执行消息处理任务时,根据开始时间与结束时间,快速准确的监控出主线程全路径下的所有任务耗时,从而提升应用程序的整体流畅度。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种任务耗时的监控方法、装置、设备及介质


技术介绍

1、随着信息技术的发展,智能终端已经成为人们工作和生活中必不可少的一部分。在安卓(android)系统中,主线程主要用于处理用户交互界面渲染、用户操作事件响应等任务,当所有的ui渲染都在一个独立的主线程中进行,若在主线程出现耗时异常或大量堆积耗时较长的耗时任务时,会导致用户交互的延迟响应,表现出卡顿的现象。

2、然而,现有技术通过使用开源的blockcanary框架进行监控任务耗时,但如果某个消息任务的处理非常耗时,但由于监控机制缺失,会导致这个任务的耗时得不到监听,因此,如何快速准确的监控出主线程全路径下的所有任务耗时,是一个亟待解决的技术问题。


技术实现思路

1、基于此,有必要针对上述技术问题,本专利技术实施例提供一种任务耗时的监控方法、装置、设备及介质,以解决现有技术中无法快速准确的监控出主线程全路径下的所有任务耗时的技术问题。

2、本申请实施例的第一方面提供了一种任务耗时的监控方法,所述任务耗时的监控方法包括:

3、响应于接收到用于指示启动预设应用程序的指令,在主线程中添加预设的循环任务,并记录所述预设的循环任务在执行消息处理任务的开始时间;

4、获取当前任务进程的消息队列,并从所述消息队列中获取出预执行的目标消息;

5、执行所述目标消息并在任务进程结束后记录所述消息处理任务的结束时间;

6、根据所述开始时间与所述结束时间,确定所述主线程执行所述消息处理任务的任务耗时。

7、本申请实施例的第二方面提供了一种任务耗时的监控装置,所述任务耗时的监控装置包括:

8、添加模块,用于响应于接收到用于指示启动预设应用程序的指令,在主线程中添加预设的循环任务,并记录所述预设的循环任务在执行消息处理任务的开始时间;

9、获取模块,用于获取当前任务进程的消息队列,并从所述消息队列中获取出预执行的目标消息;

10、执行模块,用于执行所述目标消息并在任务进程结束后记录所述消息处理任务的结束时间;

11、确定模块,用于根据所述开始时间与所述结束时间,确定所述主线程执行所述消息处理任务的任务耗时。

12、第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的任务耗时的监控方法。

13、第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的任务耗时的监控方法。

14、综上所述,本专利技术提供了一种任务耗时的监控方法、装置、设备及介质,通过响应于接收到用于指示启动预设应用程序的指令,在主线程中添加预设的循环任务,并记录预设的循环任务在执行消息处理任务的开始时间,获取当前任务进程的消息队列,并从消息队列中获取出预执行的目标消息,执行目标消息并在任务进程结束后记录消息处理任务的结束时间,根据开始时间与结束时间,确定主线程执行消息处理任务的任务耗时。可见,本申请通过在主线程添加预设的循环任务,以便在执行消息处理任务时,根据开始时间与结束时间,快速准确的监控出主线程全路径下的所有任务耗时,从而提升应用程序的整体流畅度。

本文档来自技高网...

【技术保护点】

1.一种任务耗时的监控方法,其特征在于,包括:

2.如权利要求1所述的任务耗时的监控方法,其特征在于,所述获取当前任务进程的消息队列,并从所述消息队列中获取出预执行的目标消息,包括:

3.如权利要求1所述的任务耗时的监控方法,其特征在于,所述执行所述目标消息并在任务进程结束后记录所述消息处理任务的结束时间之前,包括:

4.如权利要求2所述的任务耗时的监控方法,其特征在于,所述基于Java反射机制,调用所述消息队列的取消息函数之后,包括:

5.如权利要求3所述的任务耗时的监控方法,其特征在于,所述基于Java反射机制,调用所述目标消息的消息回收函数之后,包括:

6.如权利要求4或5所述的任务耗时的监控方法,其特征在于,所述在主线程中创建多个任务类,包括:

7.如权利要求1所述的任务耗时的监控方法,其特征在于,所述根据所述开始时间与所述结束时间,确定所述主线程执行所述消息处理任务的任务耗时,包括:

8.一种任务耗时的监控装置,其特征在于,包括:

9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述任务耗时的监控方法。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述任务耗时的监控方法。

...

【技术特征摘要】

1.一种任务耗时的监控方法,其特征在于,包括:

2.如权利要求1所述的任务耗时的监控方法,其特征在于,所述获取当前任务进程的消息队列,并从所述消息队列中获取出预执行的目标消息,包括:

3.如权利要求1所述的任务耗时的监控方法,其特征在于,所述执行所述目标消息并在任务进程结束后记录所述消息处理任务的结束时间之前,包括:

4.如权利要求2所述的任务耗时的监控方法,其特征在于,所述基于java反射机制,调用所述消息队列的取消息函数之后,包括:

5.如权利要求3所述的任务耗时的监控方法,其特征在于,所述基于java反射机制,调用所述目标消息的消息回收函数之后,包括:

6.如权利要求4或5所述的任务...

【专利技术属性】
技术研发人员:郭琨
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1