一种卡顿检测方法及装置制造方法及图纸

技术编号:19878260 阅读:18 留言:0更新日期:2018-12-22 17:56
本申请的实施例提供一种卡顿检测方法及装置,涉及通信技术领域,可检测应用运行时发生卡顿的具体环节,以便准确定位卡顿原因,从而降低发生死机现象的几率提高用户体验。该方法包括:当检测到对目标应用的触发操作时,终端执行与该触发操作对应的目标任务;终端记录从生成该目标任务到开始执行该目标任务所花费的第一时长,以及执行该目标任务所花费的第二时长;终端通过比较第一时长与预设的第一参考值的大小,以及比较第二时长与预设的第二参考值的大小,确定发生卡顿的位置位于执行该目标任务之前的其他任务的过程中或者位于执行该目标任务的过程中。

【技术实现步骤摘要】
【国外来华专利技术】一种卡顿检测方法及装置
本申请实施例涉及通信
,尤其涉及一种卡顿检测方法及装置。
技术介绍
目前,用户对手机、可穿戴设备以及平板电脑等终端中应用运行时的流畅度要求越来越高。而随着终端实现的功能越来越多,应用在运行时占用的资源越来越碎片化,导致用户在使用终端时会出现卡顿的现象,极大地影响了用户体验。通常,终端可以通过看门狗(Watchdog)机制或应用程序未响应(ApplicationNotresponding,ANR)机制来监控终端内是否出现卡顿。示例性的,如果在预设时间内没有收到应用的响应消息,终端可向用户提示当前应用未响应,用户可以选择继续等待或者强制关闭该应用。那么,如果用户选择强制关闭该应用,则终端正在执行的该应用的所有场景将会丢失,用户体验较差。如果用户选择继续等待,则终端将会继续停留在发生卡顿的界面,甚至发生死机现象,用户体验感较差通常,终端可以通过看门狗(Watchdog)机制或应用程序未响应(ApplicationNotresponding,ANR)机制来监控终端内是否出现卡顿。示例性的,如果在预设时间内没有收到应用的响应消息,终端可向用户提示当前应用未响应,用户可以选择继续等待或者强制关闭该应用。那么,如果用户选择强制关闭该应用,则终端正在执行的该应用的所有场景将会丢失,用户体验较差。如果用户选择继续等待,则终端将会继续停留在发生卡顿的界面,甚至发生死机现象,用户体验感较差。
技术实现思路
本申请的实施例提供一种卡顿检测方法及装置,可检测应用运行时发生卡顿的具体环节,以便准确定位卡顿原因,从而降低发生卡顿或死机现象的几率提高用户体验。为达到上述目的,本申请的实施例采用如下技术方案:第一方面,本申请实施例提供一种卡顿检测方法,包括:当检测到对目标应用的触发操作时,终端执行与该触发操作对应的目标任务;终端记录从生成该目标任务到开始执行该目标任务所花费的第一时长,以及执行该目标任务所花费的第二时长;终端通过比较第一时长与预设的第一参考值的大小,以及比较第二时长与预设的第二参考值的大小,确定发生卡顿的位置位于执行该目标任务之前的其他任务的过程中或者位于执行该目标任务的过程中。可以看出,通过获取目标应用的目标任务在等待执行时的第一时长和在实际执行时的第二时长,可以检测出运行该目标应用的目标任务时发生卡顿的具体环节,例如,该卡顿发生在任务执行过程中,或者发生在任务等待执行的过程中。这样,根据发生卡顿的具体环节可以有针对性的对终端进行性能优化,从而降低终端发生卡顿或死机现象的几率,同时可提高用户体验。在一种可能的设计方法中,终端通过比较第一时长与预设的第一参考值的大小,以及比较第二时长与预设的第二参考值的大小,确定发生卡顿的位置位于执行该目标任务之前的其他任务的过程中或者位于执行该目标任务的过程中,包括:当第一时长大于第一参考值时,说明上述目标任务在目标应用的任务队列中等待的时间过长,造成用户对目标应用执行的触发操作迟迟得不到响应,因此,终端可确定发生卡顿的位置位于执行该目标任务之前的其他任务的过程中;当第二时长大于第二参考值时,说明终端在执行上述目标任务时花费的时间过长,造成用户对目标应用执行的触发操作迟迟得不到响应,因此,终端可确定发生卡顿的位置位于执行该目标任务的过程中。在一种可能的设计方法中,在终端确定发生卡顿的位置位于执行该目标任务之前的其他任务的过程中之后,还包括:当再次检测到对该目标应用的触发操作时,终端将位于当前目标任务之前的至少一个任务作为子线程进行分流处理,从而加快该目标任务的处理速度,避免在相同的应用场景下再次出现卡顿现象。在一种可能的设计方法中,在终端确定发生卡顿的位置位于执行该目标任务之前的其他任务的过程中之后,还包括:当再次检测到对该目标应用的触发操作时,终端将位于当前目标任务之前的至少一个任务作为等待关闭的候选目标任务;当获取到用户选择的候选目标任务时,终端删除该用户选择的候选目标任务。这样,终端便无需执行这些被删除的候选任务,使得与上述触发操作对应的目标任务可以尽快的移动至任务队列的队头,从而加快该目标任务的处理速度,避免在相同的应用场景下再次出现卡顿现象。在一种可能的设计方法中,在终端确定发生卡顿的位置位于执行该目标任务之前的其他任务的过程中之后,还包括:当再次检测到用户对该目标应用的触发操作时,终端删除当前目标应用生成的所有任务,并重新启动该目标应用。在一种可能的设计方法中,在终端确定发生卡顿的位置位于执行该目标任务的过程中之后,还包括:当再次检测到用户对该目标应用的触发操作时,终端增加执行该目标任务时的运行资源,从而加快该目标任务在任务队列中的处理速度,避免在相同的应用场景下再次出现卡顿现象。在一种可能的设计方法中,在终端记录从生成该目标任务到开始执行该目标任务所花费的第一时长,以及执行该目标任务所花费的第二时长之后,还包括:终端将第一时长和第二时长发送给服务器,由服务器根据终端上报的第一时长和第二时长,刷新上述第一参考值和第二参考值。在一种可能的设计方法中,该方法还包括:终端从服务器获取第一参考值和第二参考值,第一参考值用于指示该目标任务等待执行时所花费时长的中位值,第二参考值用于指示执行该目标任务时所花费时长的中位值。在一种可能的设计方法中,在确定发生卡顿的位置位于执行该目标任务之前的其他任务的过程中或者位于执行该目标任务的过程中之后,还包括:终端在显示界面中向用户提示发生卡顿的位置位于执行该目标任务之前的其他任务的过程中或者位于执行该目标任务的过程中,以便用户获知发生卡顿的具体原因,避免用户误以为终端此时发生卡死现象。第二方面,本申请实施例提供一种卡顿检测方法,包括:服务器获取第一终端发送的第一时长和第二时长,第一时长用于指示第一终端从生成目标任务到开始执行该目标任务所花费的时长,第二时长用于指示第一终端执行该目标任务所花费的时长,该目标任务为响应于对目标应用的触发操作生成的;该服务器根据第一时长,确定等待执行该目标任务时的第一参考值;该服务器根据第二时长,确定执行该目标任务时的第二参考值。在一种可能的设计方法中,该方法还包括:该服务器获取第二终端发送的第三时长和第四时长,该第三时长用于指示第二终端从生成目标任务到开始执行该目标任务所花费的时长,该第四时长用于指示第二终端执行该目标任务所花费的时长,该目标任务为响应于对目标应用的触发操作生成的;该服务器根据该第三时长更新第一参考值;该服务器根据该第四时长更新第二参考值。在一种可能的设计方法中,该方法还包括:该服务器将第一参考值和第二参考值发送给第一终端。在一种可能的设计方法中,在该服务器将第一参考值和第二参考值发送给第一终端之后,还包括:服务器获取第一终端发送的第五时长和第六时长,该第五时长用于指示第一终端从再次生成目标任务到开始执行该目标任务所花费的时长,第二时长用于指示第一终端再次执行该目标任务所花费的时长,该目标任务为响应于对目标应用的触发操作生成的;该服务器根据该第五时长更新第一参考值;该服务器根据该第六时长更新第二参考值。第三方面,本申请实施例提供一种终端,包括:执行单元,用于:当检测到对目标应用的触发操作时,执行与该触发操作对应的目标任务;记录单元,用于:记录从生成该目标任务到本文档来自技高网...

【技术保护点】
1.一种卡顿检测方法,其特征在于,包括:当检测到对目标应用的触发操作时,终端执行与所述触发操作对应的目标任务;所述终端记录从生成所述目标任务到开始执行所述目标任务所花费的第一时长,以及执行所述目标任务所花费的第二时长;所述终端通过比较所述第一时长与预设的第一参考值的大小,以及比较所述第二时长与预设的第二参考值的大小,确定发生卡顿的位置位于执行所述目标任务之前的其他任务的过程中或者位于执行所述目标任务的过程中。

【技术特征摘要】
【国外来华专利技术】1.一种卡顿检测方法,其特征在于,包括:当检测到对目标应用的触发操作时,终端执行与所述触发操作对应的目标任务;所述终端记录从生成所述目标任务到开始执行所述目标任务所花费的第一时长,以及执行所述目标任务所花费的第二时长;所述终端通过比较所述第一时长与预设的第一参考值的大小,以及比较所述第二时长与预设的第二参考值的大小,确定发生卡顿的位置位于执行所述目标任务之前的其他任务的过程中或者位于执行所述目标任务的过程中。2.根据权利要求1所述的方法,其特征在于,所述终端通过比较所述第一时长与预设的第一参考值的大小,以及比较所述第二时长与预设的第二参考值的大小,确定发生卡顿的位置位于执行所述目标任务之前的其他任务的过程中或者位于执行所述目标任务的过程中,包括:当所述第一时长大于所述第一参考值时,所述终端确定发生卡顿的位置位于执行所述目标任务之前的其他任务的过程中;当所述第二时长大于所述第二参考值时,所述终端确定发生卡顿的位置位于执行所述目标任务的过程中。3.根据权利要求2所述的方法,其特征在于,在所述终端确定发生卡顿的位置位于执行所述目标任务之前的其他任务的过程中之后,还包括:当再次检测到对所述目标应用的触发操作时,所述终端将位于当前目标任务之前的至少一个任务作为子线程进行分流处理。4.根据权利要求2所述的方法,其特征在于,在所述终端确定发生卡顿的位置位于执行所述目标任务之前的其他任务的过程中之后,还包括:当再次检测到对所述目标应用的触发操作时,所述终端将位于当前目标任务之前的至少一个任务作为等待关闭的候选目标任务;当获取到用户选择的候选目标任务时,所述终端删除所述用户选择的候选目标任务。5.根据权利要求2所述的方法,其特征在于,在所述终端确定发生卡顿的位置位于执行所述目标任务之前的其他任务的过程中之后,还包括:当再次检测到用户对所述目标应用的触发操作时,所述终端删除当前目标应用生成的所有任务,并重新启动所述目标应用。6.根据权利要求2-5中任一项所述的方法,其特征在于,在所述终端确定发生卡顿的位置位于执行所述目标任务的过程中之后,还包括:当再次检测到对所述目标应用的触发操作时,所述终端增加执行所述目标任务时的运行资源。7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述终端记录从生成所述目标任务到开始执行所述目标任务所花费的第一时长,以及执行所述目标任务所花费的第二时长之后,还包括:所述终端将所述第一时长和所述第二时长发送给服务器。8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:所述终端从服务器获取所述第一参考值和所述第二参考值,所述第一参考值用于指示所述目标任务等待执行时所花费时长的中位值,所述第二参考值用于指示执行所述目标任务时所花费时长的中位值。9.根据权利要求1-8中任一项所述的方法,其特征在于,在确定发生卡顿的位置位于执行所述目标任务之前的其他任务的过程中或者位于执行所述目标任务的过程中之后,还包括:所述终端在显示界面中向用户提示发生卡顿的位置位于执行所述目标任务之前的其他任务的过程中或者位于执行所述目标任务的过程中。10.一种卡顿检测方法,其特征在于,包括:服务器获取第一终端发送的第一时长和第二时长,所述第一时长用于指示所述第一终端从生成目标任务到开始执行所述目标任务所花费的时长,所述第二时长用于指示所述第一终端执行所述目标任务所花费的时长,所述目标任务为响应于对目标应用的触发操作生成的;所述服务器根据所述第一时长,确定等待执行所述目标任务时的第一参考值;所述服务器根据所述第二时长,确定执行所述目标任务时的第二参考值。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:所述服务器获取第二终端发送的第三时长和第四时长,所述第三时长用于指示所述第二终端从生成目标任务到开始执行所述目标任务所花费的时长,所述第四时长用于指示所述第二终端执行所述目标任务所花费的时长,所述目标任务为响应于对目标应用的触发操作生成的;所述服务器根据所述第三时长更新所述第一参考值;所述服务器根据所述第四时长更新所述第二参考值。12.根据权利要求10或11所述的方法,其特征在于,所述方法还包括:所述服务器将所述第一参考值和所述第二参考值发送给所述第一终端。13.根据权利要求12所述的方法,其特征在于,在所述服务器将所述第一参考值和所述第二参考值发送给所述第一终端之后,还包括:服务器获取第一终端发送的第五时长和第六时长,所述第五时长用于指示所述第一终端从再次生成目标任务到开始执行所述目标任务所花费的时长,所述第二时长用于指示所述第一终端再次执行所述目标任务所花费的时长,所述目标任务为响应于对目标应用的触发操作生成的;所述服务器根据所述第五时长更新所述第一参考值;所述服务器根据所述第六时长更新所述第二参考值。14.一种终端,其特征在于,包括:通过总线...

【专利技术属性】
技术研发人员:蔺振超阚彬丁超许顺卢冬
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1