一种掉帧信息的输出方法、装置及移动终端与流程

文档序号:12040818阅读:514来源:国知局
一种掉帧信息的输出方法、装置及移动终端与流程

本发明涉及终端技术领域,具体涉及一种掉帧信息的输出方法、装置及移动终端。



背景技术:

随着各种应用的开发,手机上安装的应用也越来越多。众多的应用在丰富用户的学习和娱乐的同时,也占用了大量的系统资源,从而拖慢了手机的反应速度,造成卡顿现象。

手机等移动终端的卡顿现象是因为应用在运行过程中画面掉帧导致的,具有偶发且随机性强的特点,同时随着使用时间变长或用户的使用习惯而被触发。因此在实验室环境很难复现用户遇到的卡顿现象。

因此只有获取终端掉帧的相关信息,技术人员才能准确对卡顿现象进行判断和分析,从而对手机进行优化升级。现有技术中的掉帧信息都封存在系统端,只有部分对外可见,因此技术人员只能依靠这部分掉帧信息来分析卡顿现象,从而导致卡顿现象分析准确性较低。



技术实现要素:

本发明实施例提供一种掉帧信息的输出方法、装置及移动终端,可以解决现有的卡顿现象分析准确性较低的技术问题。

本发明实施例提供一种掉帧信息的输出方法,包括:

减小终端系统预置的掉帧阈值;

判断应用运行时的画面是否发生掉帧;

如发生掉帧,则获取所述应用的当前掉帧值;

判断所述应用的当前掉帧值是否大于所述掉帧阈值;

如大于所述掉帧阈值,则输出所述应用当前的掉帧信息。

本发明实施例还提供了一种掉帧信息的输出装置,包括:

减小模块,用于减小终端系统预置的掉帧阈值;

第一判断模块,用于判断应用运行时的画面是否发生掉帧;

获取模块,用于在发生掉帧时,获取所述应用的当前掉帧值;

第二判断模块,用于判断所述应用的当前掉帧值是否大于所述掉帧阈值;

输出模块,用于在大于所述掉帧阈值时,输出所述应用当前的掉帧信息。

本发明实施例还提供了一种移动终端,包括:

存储有可以执行程序代码的存储器;

与所述存储器耦合的处理器;

所述处理器调用所述存储器中存储的所述可执行程序代码,执行如本发明实施例任一方法中所描述的部分或全部步骤。

本发明实施例采用减小终端系统预置的掉帧阈值;判断应用运行时的画面是否发生掉帧;如发生掉帧,则获取应用的当前掉帧值;判断应用的当前掉帧值是否大于掉帧阈值;如大于掉帧阈值,则输出应用当前的掉帧信息;该方案通过减小预置的掉帧值,以获取更全面的掉帧信息,从而提高卡顿现象分析的准确性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的第一种掉帧信息的输出方法的流程图。

图2为本发明实施例二提供的第二种掉帧信息的输出方法的流程图。

图3为本发明实施例三提供的一种掉帧信息的输出装置的结构示意图。

图4为本发明实施例四提供的一种移动终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明实施例提供的掉帧信息的输出方法的执行主体,可以为本发明实施例提供的掉帧信息的输出装置,或者集成了所述掉帧信息的输出装置的终端,所述掉帧信息的输出装置可以采用硬件或者软件的方式实现;本发明实施例所描述的终端可以是智能手机(如Android手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备等移动设备,上述终端仅是举例,而非穷举,包含但不限于上述终端。

本发明实施例提供一种掉帧信息的输出方法、装置和移动终端。以下将分别进行详细说明。

实施例一、

本实施例将从掉帧信息的输出装置的角度进行描述,该掉帧信息的输出装置具体可以软件或者硬件的形式集成在终端中,该终端可以为智能手机、平板电脑等设备。

请参照图1,图1为本发明实施例提供的第一种掉帧信息的输出方法的流程图。该方法用于对应用画面掉帧进行处理,具体步骤包括:减小终端系统预置的掉帧阈值;判断应用运行时的画面是否发生掉帧;如发生掉帧,则获取应用的当前掉帧值;判断应用的当前掉帧值是否大于掉帧阈值;如大于掉帧阈值,则输出应用当前的掉帧信息。

下面对本发明实施例的掉帧信息的输出方法的各个步骤进行详细说明。

101、减小终端系统预置的掉帧阈值。

在对本步骤进行具体分析之前,先对本发明实施例的掉帧信息的输出方法涉及的相关概念进行介绍。首先,卡顿是用户看到的应用运行过程中画面不流畅即画面停滞的现象。其次,掉帧是指每帧画面绘制的时间大于标准绘制时间时出现的现象。需要说明的是掉帧是引起卡顿的原因,即画面掉帧会导致画面卡顿。因此如果想分析卡顿现象,需要获取掉帧信息。其中掉帧信息包括掉帧应用标识、掉帧值、掉帧时间等信息。

这本发明实施例中,减小预置的掉帧阈值的目的是为了输出更多的掉帧信息。举例来说,在实际操作中,终端系统中只要应用画面出现掉帧,就会将该应用标识、掉帧值、掉帧时间等掉帧信息存储起来。假设原本设置的预置掉帧阈值为30,那么终端不会去获取掉帧值小于30的掉帧信息,更不会将这些掉帧信息输出来。这样由于技术人员缺少这些掉帧信息,将导致卡顿现象分析的准确性大大降低。

102、判断应用运行时的画面是否发生掉帧。

当应用正常运行时,每帧画面的绘制时间等于屏幕刷新周期,如果超过屏幕刷新周期,说明画面发生了掉帧现象,人们看到的画面也就会卡顿。因此可以通过判断绘制时间是否大于屏幕刷新周期来判断应用是否发生掉帧,如果大于屏幕刷新周期,则应用的画面发生掉帧,转入步骤103;如不大于屏幕刷新周期,则应用的画面未发生掉帧,转入步骤106。

103、如发生掉帧,则获取应用的当前掉帧值。

在本发明实施例中,应用的当前掉帧值的计算方法如下:首先计算预设绘制时间和绘制时间的比值;接着将比值设置为终端当前掉帧值;最后获取应用的当前掉帧值。举例来说,绘制时间为33.34毫秒,预设绘制时间为屏幕刷新周期16.67毫秒,则当前掉帧值为2。

104、判断应用的当前掉帧值是否大于掉帧阈值。

获取到当前掉帧值后,通过判断其是否满足预设条件来决定是否输出当前的掉帧信息。其中预设条件为大于步骤101中减小后的掉帧阈值,如大于该掉帧阈值,则转入步骤105;如不大于该掉帧阈值,则转入步骤106。

105、如大于掉帧阈值,则输出应用当前的掉帧信息。

如大于掉帧阈值,说明应输出当前的掉帧信息,故先从系统中获取该掉帧信息。在安卓系统中,掉帧信息保存在绘制类中,因此可以通过调用终端系统中的绘制类,从该绘制类中读取应用的当前的掉帧信息,再将读取到的当前的掉帧信息输出来。举例来说,掉帧信息中的掉帧值保存在绘制类中的skippedFrames变量中,通过读取skippedFrames变量的值即可获取掉帧值,然后在终端窗口中展示该掉帧值。

106、如果绘制时间不大于预设绘制时间,或当前掉帧值不大于掉帧阈值,则不输出掉帧信息。

如果绘制时间不大于预设绘制时间,说明终端中的应用画面未发生掉帧现象,既然没有掉帧信息,也就不需要输出掉帧信息。

如果当前掉帧值不大于掉帧阈值,说明当前的掉帧信息不符合输出条件,因此也不输出掉帧信息。

本发明实施例的掉帧信息的输出方法采用减小终端系统预置的掉帧阈值;判断应用运行时的画面是否发生掉帧;如发生掉帧,则获取应用的当前掉帧值;判断应用的当前掉帧值是否大于掉帧阈值;如大于掉帧阈值,则输出应用当前的掉帧信息;该方案通过减小预置的掉帧值,以获取更全面的掉帧信息,从而提高卡顿现象分析的准确性。

实施例二、

本实施例将在实施例一的基础上,对本发明掉帧信息的输出方法作进一步介绍。

本实施例将从掉帧信息的输出装置的角度进行描述,该掉帧信息的输出装置具体可以软件或者硬件的形式集成在终端中,该终端可以为智能手机、平板电脑等设备。

请参照图2,图2为本发明实施例提供的第二种掉帧信息的输出方法的流程图。下面对本发明实施例的掉帧信息的输出方法的各个步骤进行详细说明。

201、减小终端系统预置的掉帧阈值。

在对本步骤进行具体分析之前,先对本发明实施例的掉帧信息的输出方法涉及的相关概念进行介绍。首先,卡顿是用户看到的应用运行过程中画面不流畅即画面停滞的现象。其次,掉帧是指每帧画面绘制的时间大于标准绘制时间时出现的现象。需要说明的是掉帧是引起卡顿的原因,即画面掉帧会导致画面卡顿。因此如果想分析卡顿现象,需要获取掉帧信息。其中掉帧信息包括掉帧应用标识、掉帧值、掉帧时间等信息。

这本发明实施例中,减小预置的掉帧阈值的目的是为了输出更多的掉帧息。举例来说,在实际操作中,终端系统中只要应用画面出现掉帧,就会将该应用标识、掉帧值、掉帧时间等掉帧信息存储起来。假设原本设置的预置掉帧阈值为30,那么终端不会去获取掉帧值小于30的掉帧信息,更不会将这些掉帧信息输出来。这样由于技术人员缺少这些掉帧信息,将导致卡顿现象分析的准确性大大降低。

202、当终端系统中的应用运行时,获取应用当前每帧画面的绘制时间。

当终端系统中的应用运行时,开始检测该应用中当前每帧画面的绘制时间。具体的,终端进行画面绘制时,会发送一个绘制函数调用消息,然后再根据这个绘制函数调用消息调用相应的绘制函数,假设绘制函数调用消息的发送时间为T1,执行该绘制函数调用消息的时间为T2,则T2-T1即终端当前每帧画面的绘制时间。

需要说明的是,当应用正常运行时,每帧画面的绘制时间等于屏幕刷新周期,如果超过屏幕刷新周期,说明画面发生了掉帧现象,人们看到的画面也就会卡顿。同时每帧画面的掉帧数的多少与卡顿现象的严重程度成正比,即掉帧数越大,画面越卡顿。

203、判断绘制时间是否大于预设绘制时间。

本发明实施例的掉帧信息的输出方法的目的是为了输出掉帧信息,只有存在掉帧,获取掉帧信息才有意义,因此先要判断应用画面是否出现掉帧

由于如果每帧画面的绘制时间超过屏幕刷新周期,就会出现画面掉帧。因此可以屏幕刷新周期设置为该预设绘制时间。具体的,如果绘制时间大于预设绘制时间,则说明终端发生掉帧现象,因此转入步骤204以确定是否输出掉帧信息;如果绘制时间不大于预设绘制时间,说明终端未发生掉帧,因此转入步骤208。

204、如大于预设绘制时间,则计算预设绘制时间和绘制时间的比值;将比值设置为终端当前掉帧值;获取应用的当前掉帧值。

如果绘制时间大于预设绘制时间,说明终端出现了掉帧。此时,在安卓系统中,终端会将跟掉帧现象相关的掉帧信息存储起来,如掉帧的应用标识、掉帧值等信息。并且将终端系统预置的掉帧阈值设置为30,即默认将掉帧值大于30的掉帧信息输出,从而导致技术人员无法获取掉帧阈值不大于30的掉帧信息,进而导致掉帧信息分析的准确性降低。因此本发明实施例在步骤201中减小了终端系统预置的掉帧阈值,可以使技术人员获取更大范围的掉帧信息,大大提高了卡顿现象分析的准确性。进一步的,该预置的掉帧阈值的减小可以由技术人员根据实际需要自行设置,更具有灵活性。

既然已经判断出终端发生了掉帧现象,接下来将判断是否输出该掉帧现象对应的掉帧信息。首先要获取应用的当前掉帧值,具体步骤如下:首先计算预设绘制时间和绘制时间的比值;接着将比值设置为终端当前掉帧值;最后获取应用的当前掉帧值。举例来说,绘制时间为33.34毫秒,预设绘制时间为屏幕刷新周期16.67毫秒,则当前掉帧值为2。

205、判断应用的当前掉帧值是否大于掉帧阈值。

终端判断应用的当前掉帧值是否大于掉帧阈值,如大于掉帧阈值,则转入步骤206;如不大于掉帧阈值,则转入步骤208。

206、如大于掉帧阈值,则调用终端系统中的绘制类;从绘制类中获取应用的当前的掉帧信息。

如大于掉帧阈值,说明应输出当前的掉帧信息,故先从系统中获取该掉帧信息。在安卓系统中,掉帧信息保存在绘制类中,因此可以通过调用终端系统中的绘制类,从该绘制类中获取应用的当前的掉帧信息。举例来说,掉帧信息中的掉帧值保存在绘制类中的skippedFrames变量中,通过读取skippedFrames变量的值即可获取掉帧值。

207、将应用的当前的掉帧信息以字符串形式存储;输出以字符串形式存储的掉帧信息。

在本发明实施例中将设置一个应用端来实现掉帧信息的输出,首先在应用端开启logcat线程,当检测到应用画面掉帧时,通过String line=reader.readLine()读取掉帧信息,并将掉帧信息保存在字符串中,如“08-0617:24:41.252:I/Choreographer(10578):Skipped 2 frames!The application may be doing too much work on its main thread.”,接着再从上述以字符串形式保持的掉帧信息中截取应用的标识、掉帧值等具体信息,如截取字符串括号里的数字可以获取到应用的标识为10578,截取紧跟Skipped的数字得到掉帧值为2。假设10578代表微信,那么最后掉帧信息的展现的形式为“卡顿应用:微信,掉帧值:2”。这样即实现了掉帧信息的输出。

208、如果绘制时间不大于预设绘制时间,或当前掉帧值不大于掉帧阈值,则不输出掉帧信息。

如果绘制时间不大于预设绘制时间,说明终端中的应用未发生掉帧现象,既然没有掉帧信息,也就不需要输出掉帧信息。

如果当前掉帧值不大于掉帧阈值,说明当前的掉帧信息不符合输出条件,因此不输出掉帧信息。

本发明实施例的掉帧信息的输出方法采用减小终端系统预置的掉帧阈值;当终端系统中的应用运行时,获取应用当前每帧画面的绘制时间;判断绘制时间是否大于预设绘制时间;如大于预设绘制时间,则计算预设绘制时间和绘制时间的比值;将比值设置为终端当前掉帧值;获取应用的当前掉帧值;判断应用的当前掉帧值是否大于掉帧阈值;如大于掉帧阈值,则调用终端系统中的绘制类;从绘制类中获取应用的当前的掉帧信息;将应用的当前的掉帧信息以字符串形式存储;输出以字符串形式存储的掉帧信息。该方案通过减小预置的掉帧值,以获取更全面的掉帧信息,从而提高卡顿现象分析的准确性。

实施例三、

为了更好地实施以上方法,本发明实施例还提供一种掉帧信息的输出装置,该掉帧信息的输出装置可以集成在终端中,该终端具体可以是智能手机、平板电脑等设备。如图3所示,该掉帧信息的输出装置包括减小模块301、第一判断模块302、获取模块303、第二判断模块304和输出模块305。具体描述如下:

减小模块301,用于减小终端系统预置的掉帧阈值;

第一判断模块302,用于判断应用运行时的画面是否发生掉帧;

获取模块303,用于在发生掉帧时,获取应用的当前掉帧值;

第二判断模块304,用于判断应用的当前掉帧值是否大于掉帧阈值;

输出模块305,用于在大于掉帧阈值时,输出应用当前的掉帧信息。

进一步的,第一判断模块302包括第一获取子模块、判断子模块和掉帧子模块。具体描述如下:

第一获取子模块,用于获取应用当前每帧画面的绘制时间;

判断子模块,用于判断绘制时间是否大于预设绘制时间;

掉帧子模块,用于在大于预设绘制时间时,确定应用的画面发生掉帧。

进一步的,获取模块303包括计算子模块、设置子模块和第二获取子模块。具体描述如下:

计算子模块,用于计算预设绘制时间和绘制时间的比值;

设置子模块,用于将比值设置为终端当前掉帧值;

第二获取子模块,用于获取应用的当前掉帧值。

进一步的,输出模块305包括调用子模块、信息获取子模块和输出子模块。具体描述如下:

调用子模块,用于调用终端系统中的绘制类;

信息获取子模块,用于从绘制类中获取应用的当前的掉帧信息;

输出子模块,用于输出应用的当前的掉帧信息。

本发明实施例的掉帧信息的输出装置采用减小终端系统预置的掉帧阈值;当终端系统中的应用运行时,判断应用是否发生掉帧;如发生掉帧,则获取应用的当前掉帧值;判断应用的当前掉帧值是否大于掉帧阈值;如大于掉帧阈值,则输出应用当前的掉帧信息;该方案通过减小预置的掉帧值,以获取更全面的掉帧信息,从而提高卡顿现象分析的准确性。

实施例四、

请参照附图4,图4为本发明实施例提供的一种移动终端的结构示意图。该移动终端40至少包括一个处理器401,例如中央处理器(CPU,Central Processing Unit),至少一个网络接口402,用户接口403,存储器404和至少一个通信总线405。

其中,通信总线405用于实现处理器401,存储器404等组件之间的连接通信。网络接口402用于实现物理主机与网络之间的连接通信,如可以用于连接物理网卡和物理交换机等设备;用户接口403可以包括显示屏、键盘,同时用户接口403可以为无线接口,也可以为有线接口;存储器404可以是高速存储器,也可以是非不稳定的存储器。

在一些实施方式中,存储器404还包括操作系统和应用模块。操作系统包含了各种系统程序,用于实现各种基础业务以及处理基于硬件的业务;应用模块包含各种应用程序,用于实现各种应用业务。具体的,存储器404存储一组程序代码,以供处理器401执行如下操作:

减小终端系统预置的掉帧阈值;当终端系统中的应用运行时,判断应用是否发生掉帧;如发生掉帧,则获取应用的当前掉帧值;判断应用的当前掉帧值是否大于掉帧阈值;如大于掉帧阈值,则输出应用当前的掉帧信息。

进一步的,处理器401还用于获取应用当前每帧画面的绘制时间;判断绘制时间是否大于预设绘制时间;如大于预设绘制时间,则确定应用的画面发生掉帧。

进一步的,处理器401还用于计算预设绘制时间和绘制时间的比值;将比值设置为终端当前掉帧值;获取应用的当前掉帧值。

进一步的,处理器401还用于调用终端系统中的绘制类;从绘制类中获取应用的当前的掉帧信息;输出应用的当前的掉帧信息。

进一步的,处理器401还用于将应用的当前的掉帧信息以字符串形式存储;输出以字符串形式存储的掉帧信息。

本发明实施例的移动终端采用减小终端系统预置的掉帧阈值;判断应用运行时的画面是否发生掉帧;如发生掉帧,则获取应用的当前掉帧值;判断应用的当前掉帧值是否大于掉帧阈值;如大于掉帧阈值,则输出应用当前的掉帧信息;该方案通过减小预置的掉帧值,以获取更全面的掉帧信息,从而提高卡顿现象分析的准确性。

具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。

需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如信息发布方法的实施例的流程。其中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。

以上对本发明实施例提供的一种掉帧信息的输出方法和装置进行了详细介绍,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1