应用性能监测方法、电子设备及存储介质技术

技术编号:31169611 阅读:23 留言:0更新日期:2021-12-04 13:30
本发明专利技术公开了一种应用性能监测方法、电子设备及存储介质,方法包括:应用启动后,构建监测子线程;利用监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取监测任务执行结果;判断监测任务执行结果是否符合性能监测条件;若否,则采集应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。创建监测子线程,通过对监测任务执行结果的判断,可以及时发现影响应用执行性能的影响因子,且不影响应用正常执行。且不影响应用正常执行。且不影响应用正常执行。

【技术实现步骤摘要】
应用性能监测方法、电子设备及存储介质


[0001]本专利技术涉及计算机
,具体涉及一种应用性能监测方法、电子设备及存储介质。

技术介绍

[0002]应用运行于终端设备上,方便为用户提供更多的便捷服务。应用的性能会直接影响用户使用体验,如应用快速响应用户的操作,流畅无卡顿地处理各种任务,提供给用户较佳的使用体验;当应用在相当长的一段时间内没有响应用户的操作,用户的使用体验欠佳。
[0003]现有技术中,当应用在运行时若较长时间没有响应,终端设备的系统会弹出如图1所示的对话框,向用户提供退出此应用的选项。但这种方式会大大降低用户的应用使用体验。考虑到终端设备的系统碎片化严重,不同厂商的系统均各自定制,机型种类众多,无法在应用测试阶段发现可能会引起ANR(Application not response,应用程序无响应)的场景。因此,急需一种对应用性能进行监测,帮助发现ANR场景的方法。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的应用性能监测方法、电子设备及存储介质。
[0005]根据本专利技术的一个方面,提供了一种应用性能监测方法,其包括:
[0006]应用启动后,构建监测子线程;
[0007]利用监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取监测任务执行结果;
[0008]判断监测任务执行结果是否符合性能监测条件;
[0009]若否,则采集应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
[0010]根据本专利技术的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
[0011]存储器用于存放至少一可执行指令,可执行指令使处理器执行以下操作:
[0012]应用启动后,构建监测子线程;
[0013]利用监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取监测任务执行结果;
[0014]判断监测任务执行结果是否符合性能监测条件;
[0015]若否,则采集应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
[0016]根据本专利技术的又一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行上述任一项的应用性能监测方法对应的操作。
[0017]根据本专利技术提供的应用性能监测方法、电子设备及存储介质,创建监测子线程,通
过对监测任务执行结果的判断,可以及时发现影响应用执行性能的影响因子,且不影响应用正常执行。
[0018]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0019]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0020]图1示出了应用无响应对话框示意图;
[0021]图2示出了根据本专利技术一个实施例的应用性能监测方法的流程示意图;
[0022]图3示出了根据本专利技术另一个实施例的应用性能监测方法的流程示意图;
[0023]图4示出了根据本专利技术一个实施例的一种电子设备的结构示意图。
具体实施方式
[0024]实施例一
[0025]图2示出了根据本专利技术一个实施例的应用性能监测方法的流程示意图,如图2所示,该方法包括如下步骤:
[0026]步骤S201,应用启动后,构建监测子线程。
[0027]现有技术中安卓系统中包含printer对象,标记任务开始start和结束end。通过替换printer对象可以监测应用是否对用户的操作在一定时间内得到响应。但其缺点需依赖系统的源码,若安卓系统在升级后不开放替换printer对象,则无法实施以上方案。进一步,这种监测方式需要从printer对象中查找字符串,start和end进行匹配,字符串的处理属于比较耗时的处理,对应用本身性能会造成损耗。
[0028]本实施例主要应用于安卓系统的终端设备,当应用启动后,基于安卓底层任务处理机制,创建监测子线程。监测子线程的优先级低于应用主线程,当cpu空闲时处理监测子线程中的任务,不影响应用主线程的正常运行。
[0029]步骤S202,利用监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取监测任务执行结果。
[0030]监测任务用于监测应用是否卡顿,优选地,监测任务为处理器仅需简单操作的任务,其不影响应用正常执行,如监测任务为计数器重置任务,设置一个计数器,其值设置为非0,如设置计数器为1,监测任务为将计数器重置为0,该监测任务基本不会损耗应用性能。
[0031]利用监测子线程通过消息系统将监测任务发送给应用主线程来执行,同时,每间隔第一预设时间获取一次监测任务执行结果,以监测任务为计数器重置任务为例,即查看计数器是否为0,当计数器为0,说明监测任务执行完成;若计数器不为0,说明监测任务未执行完成。第一预设时间可以设置为5s,如在发送监测任务后,监测子线程休眠5s,再获取监测任务执行结果。
[0032]步骤S203,判断监测任务执行结果是否符合性能监测条件。
[0033]监测任务执行结果包括监测任务执行完成和监测任务未执行完成。性能监测条件用来判断应用执行性能的好坏。
[0034]当判断监测任务执行结果不符合性能监测条件,则说明当前应用执行性能较差,则执行步骤S204。具体的,判断在第一预设时间获取的监测任务执行结果是否为监测任务执行完成,若否,判断不符合性能监测条件,即监测任务执行结果为监测任务未执行完成,应用主线程在第一预设时间内仍未执行监测任务,说明在监测任务前存在其它任务一直执行,导致监测任务无法执行的情况,也就是说应用主线程存在任务卡顿的情况,应用执行性能较差,则执行步骤S204。若是,则判断符合性能监测条件;即监测任务执行结果为监测任务执行完成,应用主线程在第一预设时间内已经执行监测任务,应用主线程不存在任务卡顿等情况,应用执行性能良好。
[0035]步骤S204,采集应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
[0036]当判断监测任务执行结果不符合性能监测条件时,即应用主线程中任务存在执行卡顿等问题,需要采集应用主线程中执行的任务信息,根据任务信息可以确定执行存在卡顿问题或执行时间过长的任务,从而确定影响应用执行性能的影响因子。
[0037]根据本专利技术提供的应用性能监测方法,创建监测子线程,通过对监测任务执行结果的判断,可以及时发现影响应用执行性能的影响因子,且不影响应用正常执行。...

【技术保护点】

【技术特征摘要】
1.一种应用性能监测方法,其包括:应用启动后,构建监测子线程;利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果;判断所述监测任务执行结果是否符合性能监测条件;若否,则采集所述应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。2.根据权利要求1所述的方法,其中,所述判断所述监测任务执行结果是否符合性能监测条件进一步包括:判断所述第一预设时间获取的监测任务执行结果是否为监测任务执行完成;若否,则判断不符合性能监测条件。3.根据权利要求1所述的方法,其中,所述利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果进一步包括:利用所述监测子线程将监测任务插入至应用主线程的任务列表,由所述应用主线程按照任务列表顺序依次执行各任务;利用所述监测子线程每间隔第二预测时间获取所述监测任务执行结果,若所述监测任务未执行完成,累计当前任务执行时间,直至监测任务执行完成或当前任务执行时间达到第一预设时间。4.根据权利要求3所述的方法,其中,所述判断所述监测任务执行结果是否符合性能监测条件进一步包括:判断所述当前任务执行时间是否达到第一预设时间;若是,判断所述监测任务执行结果不符合性能监测条件。5.根据权利要求1

4中任一项所述的方法,其中,所述方法还包括:若判断所述监测任务执行结果符合性能监测条件,则利用所述...

【专利技术属性】
技术研发人员:黄源
申请(专利权)人:掌阅科技股份有限公司
类型:发明
国别省市:

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

1