CN111949511A - 应用程序的卡顿处理方法、装置、终端及存储介质 - Google Patents
应用程序的卡顿处理方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN111949511A CN111949511A CN202010655894.3A CN202010655894A CN111949511A CN 111949511 A CN111949511 A CN 111949511A CN 202010655894 A CN202010655894 A CN 202010655894A CN 111949511 A CN111949511 A CN 111949511A
- Authority
- CN
- China
- Prior art keywords
- frame
- pages
- dropped
- processing
- logs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title description 9
- 238000012545 processing Methods 0.000 claims abstract description 82
- 238000001514 detection method Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种应用程序的卡顿处理方法、装置、终端及介质。其中方法包括:基于预配置的卡顿检测工具,确定目标应用的多个帧刷新事件;对多个帧刷新事件进行处理,以确定发生卡顿的多个掉帧页面;获取多个掉帧页面分别对应的过去预定时长的待上报日志;对多个掉帧页面分别对应的过去预定时长的待上报日志进行上报处理。本申请通过在目标应用中配置卡顿检测工具,不仅无需在应用的多处增加卡顿检测代码,能够维护应用中代码优雅性,还降低了对应用进行卡顿检测的开发成本;根据多个掉帧页面来获取过去预定时长的待上报日志,则获取到了更为详细的日志,为分析卡顿提供的更为详细的数据,以便对目标应用进行优化,降低卡顿发生几率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种应用程序的卡顿处理方法、装置、终端及存储介质。
背景技术
卡顿现象是出现在手机、笔记本等电子设备中的一种现象,其出现的状况为:进行各种电子设备操作过程中,例如玩游戏的时候游戏画面不顺畅,或者听音乐的时候画面滞帧,也就是通常人们所说的“卡”。软件设计缺陷是出现卡顿现象的原因之一,因此避免因软件设计导致的卡顿的发生几率,需要在研发过程中及时进行检测。
相关技术中,主要是通过在每行代码中打点,即在每行代码处插入卡顿检测代码来进行检测。这种方式,不仅需要到处打点,增加了工作成本,而且严重影响对代码程序的阅读和观感;同时,因release环境上报服务器进程与APP的主进程是一体的,容易造成进程上CPU调度、内存等挤在一起,影响主进程,用户体验差。
发明内容
为了解决上述至少一个技术问题,本申请提供一种应用程序的卡顿处理方法、装置、终端及介质。
根据本申请的第一方面,提供了一种应用程序的卡顿处理方法,该方法包括:
基于预配置的卡顿检测工具,确定目标应用的多个帧刷新事件;
对多个帧刷新事件进行处理;
依据处理结果,确定发生卡顿的多个掉帧页面;
获取多个掉帧页面分别对应的过去预定时长的待上报日志;
对多个掉帧页面分别对应的过去预定时长的待上报日志进行上报处理。
根据本申请的第二方面,提供了一种应用程序的卡顿处理装置,该装置包括:
帧事件确定模块,用于基于预配置的卡顿检测工具,确定目标应用的多个帧刷新事件;
帧事件处理模块,用于对多个帧刷新事件进行处理;
掉帧确定模块,用于依据处理结果,确定多个掉帧页面;
日志获取模块,用于获取多个掉帧页面分别对应的过去预定时长的待上报日志;
日志上报模块,用于对多个掉帧页面分别对应的过去预定时长的待上报日志进行上报处理。
根据本申请的第三方面,提供了一种终端,该终端包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时以实现上述应用程序的卡顿处理方法。
根据本申请的第四方面,提供了一种计算机可读存储介质,该介质存储有计算机可执行指令,该计算机可执行指令用于以执行上述应用程序的卡顿处理方法。
本申请实施例通过预配置的卡顿检测工具来获取目标应用的多个帧刷新事件,并对个帧刷新事件进行处理,从而依据处理结果来确定多个掉帧页面,这种通过预配置的卡顿检测工具对目标应用进行卡顿检测的方式,不仅无需在应用的多处增加卡顿检测代码,起到了维护应用中代码优雅性的效果,还降低了对应用进行卡顿检测的开发成本;而根据多个掉帧页面来获取待上报日志的方式,则起到了以掉帧页面为中心来提取对卡顿进行分析的精确日志的效果,并将多个掉帧页面分别对应的过去预定时长的待上报日志进行上报处理,为对卡顿分析提供的更为详细的数据,继而对目标应用进行优化,降低卡顿发生几率,达到提升用户使用体验的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种应用程序的卡顿处理方法的流程示意图;
图2为本申请实施例提供的一种应用程序的卡顿处理方法中确定掉帧的流程示意图;以及
图3为根据本申请实施例提供的一种应用程序的卡顿处理装置的框图结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
首先对本申请涉及的几个名词进行介绍和解释:
在本申请实施例中,用户界面UI线程是指应用的UI交互的线程,可以把对事件进行分发。例如,检测到用户在电子设备的屏幕上的按钮的点击操作时,用户界面UI线程会把点击时间交给view处理,view接到事件后会设置它的pressed状态,然后向事件队列中发送一个invalidate请求。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
根据本申请的一个实施例,提供了一种应用程序的卡顿处理方法,如图1所示,该方法包括步骤S101至步骤S105。
步骤S101:基于预配置的卡顿检测工具,确定目标应用的多个帧刷新事件。
具体地,可以将卡顿检测工具设置为基于Choreographer机制的消息处理器,这种基于Choreographer机制的消息处理器对目标应用的用户界面UI进行注册监听以及提供回调接口,以使该消息处理器通过该回调接口来对目标应用中的帧刷新事件进行监控,从而获取到目标应用的多个帧刷新事件,并存储至相应的事件链表。
具体地,目标应用运行时,依据集成在目标应用中的卡顿检测工具对目标应用的帧刷新事件进行检测。例如,检测到用户对目标应用的启动操作或目标应用从后台被切换至前台时,确定集成在目标应用的多个帧刷新事件。
具体地,目标应用运行在电子设备上。其中,电子设备可以为手机、平板、PC机、可穿戴设备等终端,此处不再一一列举。
具体地,可以将卡顿检测工具在目标应用的主程序中进行配置,以将卡顿检测工具集成在目标应用中,通过这种集成处理,简化了对目标应用的卡顿的检测成本。
步骤S102:对多个帧刷新事件进行处理。
具体地,可以将卡顿检测工具设置为基于Choreographer机制的消息处理器,这种基于Choreographer机制的消息处理器对目标应用的用户界面UI进行注册监听以及提供回调接口,以使该消息处理器通过该回调接口,来获取到目标应用中预定数量个帧画面刷新信号。
具体地,卡顿检测工具从目标应用的用户界面UI主线程中获取预定数量的帧画面刷新信号。更具体地,目标应用一般按照每秒60帧的频率进行帧画面刷新,即每帧画面需要16.6ms,因此,卡顿检测工具,每间隔16.6ms接收到帧画面刷新信号。
步骤S103:依据处理结果,确定多个掉帧页面。
在本申请实施例中,掉帧页面用于表征为在规定时间完成刷新的页面,包括超时完成刷新的页面和未刷新到的页面。具体地,掉帧页面一般是由网络缓慢、运行错误等原因造成。
步骤S104:获取多个掉帧页面分别对应的过去预定时长的待上报日志。
具体地,不同掉帧页面的原因可能不同,因此,通过获取不同掉帧页面各自的待上报日志,为分析卡顿发生的原因提供了准备。
步骤S105:对多个掉帧页面分别对应的过去预定时长的待上报日志进行上报处理。
本申请实施例通过预配置的卡顿检测工具来获取目标应用的多个帧刷新事件,并对个帧刷新事件进行处理,从而依据处理结果来确定多个掉帧页面,这种通过预配置的卡顿检测工具对目标应用进行卡顿检测的方式,不仅无需在应用的多处增加卡顿检测代码,起到了维护应用中代码优雅性的效果,还降低了对应用进行卡顿检测的开发成本;而根据多个掉帧页面来获取待上报日志的方式,则起到了以掉帧页面为中心来提取对卡顿进行分析的精确日志的效果,并将多个掉帧页面分别对应的过去预定时长的待上报日志进行上报处理,为对卡顿分析提供的更为详细的数据,继而对目标应用进行优化,降低卡顿发生几率,达到提升用户使用体验的目的。
在一些实施例中,步骤S102进一步包括:
依据与帧刷新事件对应的帧事件处理函数,对多个帧刷新事件进行处理。
具体地,由于预配置的卡顿检测工具为基于Choreographer机制的消息处理器,消息处理器提供多种处理函数,来对不同的事件进行处理。更具体地,可以通过事件标签来确定事件类型,并在事件类型为帧刷新事件时,利用与帧刷新事件对应的处理函数进行处理。
在一些实施例中,如图2所示,步骤S103进一步包括:
步骤S1031:若任一帧刷新事件的处理时长大于预设的处理时长阈值,则停止对该任一帧刷新事件进行处理,并对该任一帧刷新事件的下一个帧刷新事件进行处理;
步骤S1032:依据被跳过的帧刷新事件,确定多个掉帧页面。
具体地,可以通过栈或队列来存储多个帧刷新事件,这样在对多个帧刷新事件进行处理时,能够按照栈或队列的处理顺序进行。
具体地,一个帧刷新事件对应依次帧页面的刷新,即对应一个帧页面,因此,被跳过的帧刷新事件的数量,就表示掉帧页面的数量。
本申请实施例通过预配置的卡顿检测工具对多个帧刷新事件进行处理,并确定各个刷新事件的处理时长,并在任一帧刷新事件的处理时长超过预设的处理时长阈值时,停止对该任一帧刷新事件的处理,即,跳过该任一帧刷新事件,以对下一个帧刷新事件进行处理,避免了因超过对同一帧刷新事件处理,导致的目标应用的应用界面缓慢显示甚至无法显示的问题,这种通过超时判断来对帧刷新事件的处理方式,提高了目标应用的用户界面的显示速度,用户体验好。
在一些实施例中,步骤S104进一步包括:
确定多个掉帧页面分别对应的处理时间点;
以多个掉帧页面分别对应的处理时间点为开始时间,在目标应用的日志中,提取多个掉帧页面分别对应的过去预定时长的待上报日志。
具体地,可以依据页面刷新频率来设置过去预定时长。
本申请实施例中,将过去预定时长设置为过去预定数量的帧页面的刷新时长。例如,手机上页面刷新频率位60FPS,即1秒有60帧画面的刷新,因此,一帧页面的刷新时间为16.6ms,可以将过去预定时长设置为5*16.6ms的时长,也就是说,本申请通过过去预定时长来进行日志提取,以达到通过对过去预定时长的日志来作为分析卡顿的数据。
在一些实施例中,步骤S104进一步包括:
依据多个掉帧页面以及预定义的帧偏移量,确定多个掉帧页面分别对应的目标帧页面;
以多个掉帧页面各自的第一时间和多个掉帧页面分别对应的目标帧页面的第二时间,确定多个时间段;
基于多个时间段分别对应的日志,确定多个掉帧页面分别对应的待上报日志。
具体地,由于根据卡顿开始位置,来获取卡顿日志可能存在无法精准分析卡顿发生原因的问题,因此本申请实施例以卡顿开始位置和帧偏移量来进行定位,即以卡顿开始位置以及卡顿开始位置之前的一个帧页面为基础,来进行日志提取,从而得到目标日志,也就是说,以两个帧页面确定的时间段,来对系统日志进行提取,得到目标日志。
具体地,帧偏移量用于定义目标帧页面,即以掉帧页面为起点向刷新顺序之前的位置进行偏移,来确定目标帧页面。例如,假设卡顿开始位置为第10帧,若帧偏移量为4,那么从第10帧向前偏移4帧,即将第6帧作为目标帧页面。
在一些实施例中,步骤S105进一步包括:步骤S1051和步骤S1052(图中未示出)中至少一个步骤,其中,
步骤S1051:将多个掉帧页面分别对应的过去预定时长的待上报日志,在预配置的卡顿日志查看页面上进行显示处理;
步骤S1052:将多个掉帧页面分别对应的过去预定时长的待上报日志发送至服务端。
具体地,卡顿日志查看页面可以显示历史日志以及最新的目标日志,并对目标日志进行分类显示。例如,卡顿发生的时间、位置、日志的详细内容等。其中,日志的详细内容包括内存状态、CPU运行状态等。
具体地,可以在检测到对多个掉帧页面分别对应的过去预定时长的待上报日志的上报操作时,发送至服务端。其中,上报操作可以是用户对卡顿日志查看页面上预配置的上报控件的操作触发的,也可以是满足预配置的上报条件时触发的。例如,若卡顿日志查看页面上设置有上报控件,那么检测到用户在卡顿日志查看页面上对上报控件的单击操作时,确定检测到上报操作。其中,检测到用户对上报控件的单击操作时,还可以提供悬浮窗,通过悬浮窗来显示上报信息,以进一步确定用户是否进行上报。再如,若卡顿日志查看页面上设置有上报配置控件时,可以通过该上报配置控件设置自动化上报的条件。该上报配置控件可以提供多种上报条件,如实时上报、按照小时上报、按日上报等。例如,卡顿发生5分钟后进行上报。
本申请通过将待上报日志上报至服务器的处理,实现了统计目标应用在使用时出现的所有卡顿的目的,以便对目标应用进行维护,以降低卡顿发生几率,提高用户的使用体验。
在一些实施例中,步骤S1051之前,进一步包括:
生成发生卡顿的提示信息;
将提示信息推送至运行目标应用的终端的消息通知栏。
具体地,消息通知栏是指运行目标应用的终端的操作系统提供的通知栏,通过该通知栏能够接收到安装在该终端上所有应用推送的消息。例如,目标应用发生卡顿的提示信息。更具体地,可以在检测到用户对消息通知栏中发生卡顿的提示信息的点击操作时,加载卡顿日志查看页面,以使用户通过卡顿日志查看页面进行查看。
本申请实施例通过对卡顿日志的上报处理,为分析卡顿发生的原因提供了数据准备,以便对应用进行优化,进而实现提高用户使用体验的目的。
在一些实施例中,该方法还包括:
基于多个掉帧页面,确定掉帧数和掉帧频率,以将掉帧数和掉帧频率在卡顿日志查看页面上进行显示或将掉帧数和掉帧频率发送至服务端。
具体地,可以对多个掉帧页面分别对应的待上报日志中的一个或几个进行上报,也可以同时将多个掉帧页面分别对应的待上报日志、掉帧数和掉帧频率上报至服务端。
本申请的又一实施例提供了一种应用程序的卡顿处理装置,如图3所示,该装置30包括:帧事件确定模块301、帧事件处理模块302、掉帧确定模块303、日志获取模块304以及日志处理模块305。
帧事件确定模块301,用于基于预配置的卡顿检测工具,确定目标应用的多个帧刷新事件;
帧事件处理模块302,用于对多个帧刷新事件进行处理;
掉帧确定模块303,用于依据处理结果,确定多个掉帧页面;
日志获取模块304,用于获取多个掉帧页面分别对应的待上报日志;
日志上报模块305,用于对多个掉帧页面分别对应的待上报日志进行上报处理。
本申请实施例通过预配置的卡顿检测工具来获取目标应用的多个帧刷新事件,并对个帧刷新事件进行处理,从而依据处理结果来确定多个掉帧页面,这种通过预配置的卡顿检测工具对目标应用进行卡顿检测的方式,不仅无需在应用的多处增加卡顿检测代码,起到了维护应用中代码优雅性的效果,还降低了对应用进行卡顿检测的开发成本;而根据多个掉帧页面来获取待上报日志的方式,则起到了以掉帧页面为中心来提取对卡顿进行分析的精确日志的效果,并将多个掉帧页面分别对应的过去预定时长的待上报日志进行上报处理,为对卡顿分析提供的更为详细的数据,继而对目标应用进行优化,降低卡顿发生几率,达到提升用户使用体验的目的。
进一步地,帧事件处理模块包括:
处理子模块(图中未示出),用于依据与帧刷新事件对应的帧事件处理函数,对多个帧刷新事件进行处理。
进一步地,掉帧确定模块包括:帧处理子模块和掉帧确定子模块(图中未示出)。
帧处理子模块,用于若任一帧刷新事件的处理时长大于预设的处理时长阈值,则停止对该任一帧刷新事件进行处理,并对该任一帧刷新事件的下一个帧刷新事件进行处理;
掉帧确定子模块,用于依据被跳过的帧刷新事件,确定多个掉帧页面。
进一步地,日志获取模块包括:处理时间确定子模块和第一日志获取子模块(图中未示出)。
处理时间确定子模块,用于确定多个掉帧页面分别对应的处理时间点;
第一日志获取子模块,用于以多个掉帧页面分别对应的处理时间点为开始时间,在目标应用的日志中,提取多个掉帧页面分别对应的过去预定时长的待上报日志。
进一步地,日志获取模块包括:目标帧确定子模块、时间段确定子模块和第二日志获取子模块(图中未示出)。
目标帧确定子模块,用于依据多个掉帧页面以及预定义的帧偏移量,确定多个掉帧页面分别对应的目标帧页面;
时间段确定子模块,用于以多个掉帧页面各自的第一时间和多个掉帧页面分别对应的目标帧页面的第二时间,确定多个时间段;
第二日志获取子模块,用于基于多个时间段分别对应的日志,确定多个掉帧页面分别对应的待上报日志。
进一步地,日志上报模块包括以下至少一个子模块:
第一上报处理子模块,用于将多个掉帧页面分别对应的过去预定时长的待上报日志,在预配置的卡顿日志查看页面上进行显示处理;
第二上报处理子模块,用于将多个掉帧页面分别对应的过去预定时长的待上报日志发送至服务端。
进一步地,该装置还包括:
掉帧统计模块,用于基于多个掉帧页面,确定掉帧数和掉帧频率,以将掉帧数和掉帧频率在卡顿日志查看页面上进行显示或将掉帧数和掉帧频率发送至服务端。
本实施例的应用程序的卡顿处理装置可执行本申请实施例提供的应用程序的卡顿处理方法,其实现原理相类似,此处不再赘述。
本申请又一实施例提供了一种终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时以实现上述应用程序的卡顿处理方法。
具体地,处理器可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
具体地,处理器通过总线与存储器连接,总线可包括一通路,以用于传送信息。总线可以是PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
存储器可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器用于存储执行本申请方案的计算机程序的代码,并由处理器来控制执行。处理器用于执行存储器中存储的应用程序代码,以实现图3所示实施例提供的应用程序的卡顿处理装置的动作。
本申请实施例通过预配置的卡顿检测工具来获取目标应用的多个帧刷新事件,并对个帧刷新事件进行处理,从而依据处理结果来确定多个掉帧页面,这种通过预配置的卡顿检测工具对目标应用进行卡顿检测的方式,不仅无需在应用的多处增加卡顿检测代码,起到了维护应用中代码优雅性的效果,还降低了对应用进行卡顿检测的开发成本;而根据多个掉帧页面来获取待上报日志的方式,则起到了以掉帧页面为中心来提取对卡顿进行分析的精确日志的效果,并将多个掉帧页面分别对应的过去预定时长的待上报日志进行上报处理,为对卡顿分析提供的更为详细的数据,继而对目标应用进行优化,降低卡顿发生几率,达到提升用户使用体验的目的。
本申请又一实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令用于执行上述图1或图2所示的应用程序的卡顿处理方法。
本申请实施例通过预配置的卡顿检测工具来获取目标应用的多个帧刷新事件,并对个帧刷新事件进行处理,从而依据处理结果来确定多个掉帧页面,这种通过预配置的卡顿检测工具对目标应用进行卡顿检测的方式,不仅无需在应用的多处增加卡顿检测代码,起到了维护应用中代码优雅性的效果,还降低了对应用进行卡顿检测的开发成本;而根据多个掉帧页面来获取待上报日志的方式,则起到了以掉帧页面为中心来提取对卡顿进行分析的精确日志的效果,并将多个掉帧页面分别对应的过去预定时长的待上报日志进行上报处理,为对卡顿分析提供的更为详细的数据,继而对目标应用进行优化,降低卡顿发生几率,达到提升用户使用体验的目的。
以上所描述的装置实施例仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种应用程序的卡顿处理方法,其特征在于,包括:
基于预配置的卡顿检测工具,确定目标应用的多个帧刷新事件;
对多个所述帧刷新事件进行处理;
依据处理结果,确定发生卡顿的多个掉帧页面;
获取多个所述掉帧页面分别对应的过去预定时长的待上报日志;
对多个所述掉帧页面分别对应的过去预定时长的所述待上报日志进行上报处理。
2.根据权利要求1所述的方法,其特征在于,所述对多个所述帧刷新事件进行处理的步骤,包括:
依据与帧刷新事件对应的帧事件处理函数,对多个所述帧刷新事件进行处理。
3.根据权利要求1所述的方法,其特征在于,所述依据处理结果,确定发生卡顿的多个掉帧页面的步骤,包括:
若任一所述帧刷新事件的处理时长大于预设的处理时长阈值,则停止对该任一所述帧刷新事件进行处理,并对该任一所述帧刷新事件的下一个所述帧刷新事件进行处理;
依据被跳过的所述帧刷新事件,确定多个掉帧页面。
4.根据权利要求1所述的方法,其特征在于,所述获取多个所述掉帧页面分别对应的过去预定时长的待上报日志的步骤,包括:
确定多个所述掉帧页面分别对应的处理时间点;
以多个所述掉帧页面分别对应的处理时间点为开始时间,在所述目标应用的日志中,提取多个所述掉帧页面分别对应的过去预定时长的待上报日志。
5.根据权利要求1所述的方法,其特征在于,所述获取多个所述掉帧页面分别对应的过去预定时长的待上报日志的步骤,包括:
依据多个所述掉帧页面以及预定义的帧偏移量,确定多个所述掉帧页面分别对应的目标帧页面;
以多个所述掉帧页面各自的第一时间和多个所述掉帧页面分别对应的目标帧页面的第二时间,确定多个时间段;
基于多个所述时间段分别对应的日志,确定多个所述掉帧页面分别对应的所述待上报日志。
6.根据权利要求1所述的方法,其特征在于,所述对多个所述掉帧页面分别对应的过去预定时长的所述待上报日志进行上报处理,包括以下至少一个步骤:
将多个所述掉帧页面分别对应的过去预定时长的所述待上报日志,在预配置的卡顿日志查看页面上进行显示处理;
将多个所述掉帧页面分别对应的过去预定时长的所述待上报日志发送至服务端。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
基于多个所述掉帧页面,确定掉帧数和掉帧频率,以将所述掉帧数和所述掉帧频率在所述卡顿日志查看页面上进行显示或将所述掉帧数和所述掉帧频率发送至服务端。
8.一种应用程序的卡顿处理装置,其特征在于,包括:
帧事件确定模块,用于基于预配置的卡顿检测工具,确定目标应用的多个帧刷新事件;
帧事件处理模块,用于对多个所述帧刷新事件进行处理;
掉帧确定模块,用于依据处理结果,确定多个掉帧页面;
日志获取模块,用于获取多个所述掉帧页面分别对应的过去预定时长的待上报日志;
日志上报模块,用于对多个所述掉帧页面分别对应的过去预定时长的所述待上报日志进行上报处理。
9.一种终端,包括:存储器、处理器及存储在该存储器上并可在该处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要1至7中任一项所述的方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010655894.3A CN111949511A (zh) | 2020-07-09 | 2020-07-09 | 应用程序的卡顿处理方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010655894.3A CN111949511A (zh) | 2020-07-09 | 2020-07-09 | 应用程序的卡顿处理方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949511A true CN111949511A (zh) | 2020-11-17 |
Family
ID=73340110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010655894.3A Pending CN111949511A (zh) | 2020-07-09 | 2020-07-09 | 应用程序的卡顿处理方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949511A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113114843A (zh) * | 2021-03-25 | 2021-07-13 | 北京小米移动软件有限公司 | 数据处理方法及装置、终端及存储介质 |
CN113613071A (zh) * | 2021-07-30 | 2021-11-05 | 上海商汤临港智能科技有限公司 | 一种图像处理方法、装置、计算机设备和存储介质 |
CN114077529A (zh) * | 2022-01-19 | 2022-02-22 | 荣耀终端有限公司 | 日志上传方法、装置、电子设备及计算机可读存储介质 |
CN114741252A (zh) * | 2021-01-07 | 2022-07-12 | 厦门美柚股份有限公司 | 基于埋点的自动化监测和分析页面卡顿的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170026495A1 (en) * | 2010-12-21 | 2017-01-26 | Guest Tek Interactive Entertainment Ltd. | Client in distributed computing system that monitors request time and operation time in order to detect performance problems and automatically issue alerts |
CN106681913A (zh) * | 2016-12-08 | 2017-05-17 | 武汉斗鱼网络科技有限公司 | 一种应用卡顿定位系统及方法 |
CN106776253A (zh) * | 2016-12-08 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种界面卡顿监测方法及装置 |
CN108512695A (zh) * | 2018-03-12 | 2018-09-07 | 腾讯音乐娱乐科技(深圳)有限公司 | 监控应用卡顿的方法及装置 |
CN110806909A (zh) * | 2019-11-01 | 2020-02-18 | 北京金山安全软件有限公司 | 一种应用程序页面掉帧信息确定方法、装置及电子设备 |
-
2020
- 2020-07-09 CN CN202010655894.3A patent/CN111949511A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170026495A1 (en) * | 2010-12-21 | 2017-01-26 | Guest Tek Interactive Entertainment Ltd. | Client in distributed computing system that monitors request time and operation time in order to detect performance problems and automatically issue alerts |
CN106681913A (zh) * | 2016-12-08 | 2017-05-17 | 武汉斗鱼网络科技有限公司 | 一种应用卡顿定位系统及方法 |
CN106776253A (zh) * | 2016-12-08 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种界面卡顿监测方法及装置 |
CN108512695A (zh) * | 2018-03-12 | 2018-09-07 | 腾讯音乐娱乐科技(深圳)有限公司 | 监控应用卡顿的方法及装置 |
CN110806909A (zh) * | 2019-11-01 | 2020-02-18 | 北京金山安全软件有限公司 | 一种应用程序页面掉帧信息确定方法、装置及电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741252A (zh) * | 2021-01-07 | 2022-07-12 | 厦门美柚股份有限公司 | 基于埋点的自动化监测和分析页面卡顿的方法和装置 |
CN113114843A (zh) * | 2021-03-25 | 2021-07-13 | 北京小米移动软件有限公司 | 数据处理方法及装置、终端及存储介质 |
CN113613071A (zh) * | 2021-07-30 | 2021-11-05 | 上海商汤临港智能科技有限公司 | 一种图像处理方法、装置、计算机设备和存储介质 |
CN113613071B (zh) * | 2021-07-30 | 2023-10-20 | 上海商汤临港智能科技有限公司 | 一种图像处理方法、装置、计算机设备和存储介质 |
CN114077529A (zh) * | 2022-01-19 | 2022-02-22 | 荣耀终端有限公司 | 日志上传方法、装置、电子设备及计算机可读存储介质 |
CN114077529B (zh) * | 2022-01-19 | 2022-06-21 | 荣耀终端有限公司 | 日志上传方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111949511A (zh) | 应用程序的卡顿处理方法、装置、终端及存储介质 | |
CN108804299B (zh) | 应用程序异常处理方法及装置 | |
CN107911798B (zh) | 消息推送方法、装置及终端 | |
CN109144858B (zh) | 流畅度检测方法、装置、计算设备及存储介质 | |
CN110377341B (zh) | 一种监听无响应异常的方法、装置、介质和电子设备 | |
CN110795311B (zh) | 一种事件回放的方法及装置 | |
CN104378406B (zh) | 信息推送方法及装置 | |
CN113190427B (zh) | 卡顿监控方法、装置、电子设备及存储介质 | |
CN111625456A (zh) | 一种卡顿定位方法和装置 | |
US10897512B2 (en) | Generating push notifications | |
CN110989877B (zh) | 一种消息管理方法、相关设备及计算机可读存储介质 | |
CN110851294B (zh) | 一种程序运行崩溃补救的方法及装置 | |
CN110618904A (zh) | 卡顿检测方法和装置 | |
CN111949512A (zh) | 应用程序的卡顿检测方法、装置、终端及介质 | |
CN106775620B (zh) | 一种定时方法及装置 | |
CN103618786A (zh) | 一种播放错误处理方法及服务器 | |
US20240036969A1 (en) | Method and apparatus for detecting application freezing problem, and device and storage medium | |
CN104156134A (zh) | 一种计数展示方法和装置 | |
CN114281807A (zh) | 数据质量稽核方法、装置、设备及存储介质 | |
CN113867590B (zh) | 一种列表项的信息处理方法、装置、电子设备及存储介质 | |
CN114785714A (zh) | 一种报文传输时延检测方法、存储介质及设备 | |
CN112231132A (zh) | 应用程序卡顿的定位方法、装置、电子设备及介质 | |
CN113377602A (zh) | 一种业务运行监测方法、装置、设备及存储介质 | |
CN113297052B (zh) | 应用程序的卡顿事件定位方法、装置、存储介质和设备 | |
CN111367774A (zh) | 检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201117 |
|
RJ01 | Rejection of invention patent application after publication |