一种终端卡顿的改善方法、装置以及终端的制作方法

文档序号:10724505阅读:540来源:国知局
一种终端卡顿的改善方法、装置以及终端的制作方法
【专利摘要】本发明实施例公开了一种终端卡顿的改善方法,包括:每隔第一预设时间,检测终端的显示画面的帧率;当检测到所述显示画面的帧率小于预设帧率阈值时,获知所述显示画面在接下来的第二预设时间内发生卡顿的次数;当所述发生卡顿的次数高于预设次数阈值时,判断所述终端的内存使用率是否高于预设比率阈值;若是,则结束当前正在运行的部分或全部的进程。相应的,本发明实施例还公开了一种终端卡顿的改善装置以及终端。采用本发明,可以实现在显示画面发生严重卡顿时主动改善卡顿。
【专利说明】
一种终端卡顿的改善方法、装置以及终端
技术领域
[0001] 本发明涉及计算机技术领域,尤其涉及一种终端卡顿的改善方法、装置以及终端。
【背景技术】
[0002] 如智能手机、平板电脑等的终端,随着使用时间的增长以及所安装的应用程序增 多,逐渐会出现显示画面卡顿的问题。一般情况下,轻微的卡顿用户尚可接受,严重的卡顿 将极大影响用户的使用体验。
[0003] 目前,终端的显示画面在发生严重的卡顿时,需要用户主动结束终端正在运行的 部分或全部进程来改善卡顿。然而,该方法存在操作繁琐、便捷性差以及效率低下的缺点, 且对于不了解终端的用户来说不知道可以通过该方法来改善卡顿。

【发明内容】

[0004] 本发明实施例提供了一种终端卡顿的改善方法、装置以及终端,可以实现在显示 画面发生严重卡顿时主动改善卡顿。
[0005] 本发明实施例第一方面提供了一种终端卡顿的改善方法,包括:
[0006] 每隔第一预设时间,检测终端的显示画面的帧率;
[0007] 当检测到所述显示画面的帧率小于预设帧率阈值时,获知所述显示画面在接下来 的第二预设时间内发生卡顿的次数;
[0008] 当所述发生卡顿的次数高于预设次数阈值时,判断所述终端的内存使用率是否高 于预设比率阈值;
[0009] 若是,则结束当前正在运行的部分或全部的进程。
[0010]在第一方面的第一种可能实现方式中,所述获知所述显示画面在接下来的第二预 设时间内发生卡顿的次数,包括:
[0011]每隔第三预设时间,计算所述显示画面在当前第三预设时间内的帧率的加权平均 值;
[0012] 每当计算的所述加权平均值小于预设标准平均值时,记为所述显示画面发生一次 卡顿;
[0013] 获知所述显示画面在第二预设时间内累计发生卡顿的次数。
[0014] 结合第一方面的第一种可能实现方式,在第二种可能实现方式中,所述计算所述 显示画面在当前第三预设时间内的帧率的加权平均值,包括:
[0015] 根据公式. . .+Xn*F^算所述显示画面在当前第三预设时间内的 帧率的加权平均值,其中,所述η为正整数,所述Y表示所述加权平均值,乂1{表示在所述第三 预设时间内出现的第k种帧率,F k表示出现第k种帧率的时间占所述第三预设时间的比率, 所述k为小于或等于η的正整数。
[0016]在第一方面的第三种可能实现方式中,所述结束当前正在运行的部分或全部的进 程,包括:
[0017] 查询当前正在运行的进程的内存占用率;
[0018] 按照所述内存占有率由大到小的顺序,依次结束所述进程,直至所述终端的内存 使用率低于所述预设比率阈值。
[0019] 结合第一方面的第三种可能实现方式,在第四种可能实现方式中,所述按照所述 内存占有率由大到小的顺序,依次结束所述进程,直至所述终端的内存使用率低于所述预 设比率阈值,包括:
[0020] 从所述当前正在运行的进程中筛选出后台进程;
[0021] 按照所述内存占有率由大到小的顺序,依次结束所述后台进程,直至所述终端的 内存使用率低于所述预设比率阈值。
[0022] 本发明实施例第二方面提供了一种终端卡顿的改善装置,包括:
[0023]帧率检测模块,用于每隔第一预设时间,检测终端的显示画面的帧率;
[0024] 卡顿获知模块,用于当检测到所述显示画面的帧率小于预设帧率阈值时,获知所 述显示画面在接下来的第二预设时间内发生卡顿的次数;
[0025] 使用率比较模块,用于当所述发生卡顿的次数高于预设次数阈值时,判断所述终 端的内存使用率是否高于预设比率阈值;
[0026] 进程结束模块,用于若是,则结束当前正在运行的部分或全部的进程。
[0027] 在第二方面的第一种可能实现方式中,所述卡顿获知模块包括:
[0028]加权计算单元,用于每隔第三预设时间,计算所述显示画面在当前第三预设时间 内的帧率的加权平均值;
[0029] 卡顿计数单元,用于每当计算的所述加权平均值小于预设标准平均值时,记为所 述显示画面发生一次卡顿;
[0030] 卡顿获知单元,用于获知所述显示画面在第二预设时间内累计发生卡顿的次数。
[0031] 结合第二方面的第一种可能实现方式,在第二种可能实现方式中,所述加权计算 单元,具体用于:
[0032] 根据公式YiXAFi+X^Fd. . . .+Xn*Fn计算所述显示画面在当前第三预设时间内的 帧率的加权平均值,其中,所述η为正整数,所述Y表示所述加权平均值,乂 1{表示在所述第三 预设时间内出现的第k种帧率,Fk表示出现第k种帧率的时间占所述第三预设时间的比率, 所述k为小于或等于η的正整数。
[0033] 在第二方面的第三种可能实现方式中,所述进程结束模块包括:
[0034] 占用率查询单元,用于查询当前正在运行的进程的内存占用率;
[0035] 进程结束单元,用于按照所述内存占有率由大到小的顺序,依次结束所述进程,直 至所述终端的内存使用率低于所述预设比率阈值。
[0036] 结合第二方面的第三种可能实现方式,在第四种可能实现方式中,所述进程结束 单元,具体用于:从所述当前正在运行的进程中筛选出后台进程;按照所述内存占有率由大 到小的顺序,依次结束所述后台进程,直至所述终端的内存使用率低于所述预设比率阈值。 [0037]本发明实施例第三方面提供了一种终端,所述终端包括显示单元、存储器以及处 理器,其中,存储器中存储一组程序,且处理器用于调用存储器中存储的程序,执行以下操 作:
[0038]每隔第一预设时间,检测终端的显示画面的帧率;
[0039] 当检测到所述显示画面的帧率小于预设帧率阈值时,获知所述显示画面在接下来 的第二预设时间内发生卡顿的次数;
[0040] 当所述发生卡顿的次数高于预设次数阈值时,判断所述终端的内存使用率是否高 于预设比率阈值;
[0041] 若是,则结束当前正在运行的部分或全部的进程。
[0042]在第三方面的第一种可能实现方式中,所述处理器获知所述显示画面在接下来的 第二预设时间内发生卡顿的次数的具体操作为:
[0043]每隔第三预设时间,计算所述显示画面在当前第三预设时间内的帧率的加权平均 值;
[0044] 每当计算的所述加权平均值小于预设标准平均值时,记为所述显示画面发生一次 卡顿;
[0045] 获知所述显示画面在第二预设时间内累计发生卡顿的次数。
[0046] 由上可见,本发明实施例中,终端每隔第一预设时间,检测其显示画面的帧率,当 检测到显示画面的帧率小于预设帧率阈值时,获知显示画面在接下来的第二预设时间内发 生卡顿的次数,当发生卡顿的次数高于预设次数阈值时,判断终端的内存使用率是否高于 预设比率阈值,若是,则说明当前发生严重的卡顿,此时结束当前正在运行的部分或全部的 进程,使得内存使用率减小,进而终端的处理速度加快,从而改善卡顿。
【附图说明】
[0047] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0048] 图1是本发明实施例提供的一种终端卡顿的改善方法的流程示意图;
[0049] 图2是本发明实施例提供的另一种终端卡顿的改善方法的流程示意图;
[0050] 图3是本发明实施例提供的一种终端卡顿的改善装置的结构示意图;
[0051 ]图4是本发明实施例提供的一种卡顿获知模块的结构示意图;
[0052] 图5是本发明实施例提供的一种进程结束模块的结构示意图;
[0053] 图6是本发明实施例提供的一种终端的结构示意图;
[0054]图7是本发明实施例提供的一种时间轴的示意图。
【具体实施方式】
[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0056] 本发明实施例提供的终端卡顿的改善方法实现于终端,所述终端包括智能手机、 平板电脑、智能可穿戴设备、笔记本电脑、台式电脑、数字音视频播放器、电子阅读器、手持 游戏机和车载电子设备等。所述终端包括显示屏,显示屏用于显示与用户交互的界面,本发 明实施例中简称为"显示画面"。
[0057] 应理解的,终端卡顿是指,当终端的处理性能低于当前任务所要求的性能时,其处 理速度变慢,进而显示屏的刷新速度变慢,导致显示画面不连贯的现象。还应理解的,终端 的处理性能与其内存使用率相关,内存使用率越低,处理性能越强,其中,通过结束运行的 进程可以降低内存使用率。
[0058] 图1是本发明实施例中一种终端卡顿的改善方法的流程示意图。如图所示本实施 例中的终端卡顿的改善方法的流程可以包括:
[0059] S101,每隔第一预设时间,检测终端的显示画面的帧率。
[0060]其中,所述第一预设时间,可以由终端的设备厂商在出厂前设定,也可由用户预先 设定,具体取值这里不作限定,如第一预设时间可以设为20秒。为了便于理解本发明实施 例,第一预设时间可以如图7中的T1所示。
[0061 ] 具体的,终端每间隔T1,检测一次终端的显示画面的帧率。显示画面的帧率是指显 示画面每秒刷新的次数,其大小可以反映刷新速度。应理解的,显示画面的帧率越高,显示 越流畅。
[0062] S102,当检测到所述显示画面的帧率小于预设帧率阈值时,获知所述显示画面在 接下来的第二预设时间内发生卡顿的次数。
[0063]经研究发现,显示画面的帧率与人类肉眼的观赏效果的关系如下表所示:
[0064]表
[0066]^可见,当显示画面的帧率低于24时,对应的观赏效果为不流畅,因而可选的,可以 将预设帧率阈值设为24帧。
[0067] 一般的,若在一段时间内显示画面的平均帧率低于24帧,则可以认定显示画面发 生卡顿。但需要指出的是,某一时刻显示画面的帧率低于24帧,并不一定会发生卡顿,但可 以说发生卡顿的可能性较大。因此,终端当检测到显示画面的帧率小于预设帧率阈值时,再 去获知显示画面在接下来的第二预设时间内发生卡顿的次数。这相比直接通过长时间的检 测去获知发生卡顿的次数,可以减小不少的开销。
[0068] 同理,所述第二预设时间,可以由终端的设备厂商在出厂前设定,也可由用户预先 设定,具体取值这里不作限定,如第二预设时间可以设为2秒。为了便于理解本发明实施例, 第二预设时间可以如图7中的T2所示。
[0069] 进一步的,终端获知显示画面在接下来的第二预设时间内发生卡顿的次数的具体 实现方式可以如下:
[0070] 步骤①,每隔第三预设时间,计算显示画面在当前第三预设时间内的帧率的加权 平均值。
[0071] 同理,所述第三预设时间,可以由终端的设备厂商在出厂前设定,也可由用户预先 设定,具体取值这里不作限定,如第三预设时间可以设为100毫秒。为了便于理解本发明实 施例,第三预设时间可以如图7中的T3所示。
[0072] 具体实现过程中,终端根据公式Y = Xl*Fl+X2*F2+. . . .+Xn*Fn计算显示画面在当前 第三预设时间内的帧率的加权平均值,其中,η为正整数,Y表示加权平均值,Xk表示在第三 预设时间内出现的第k种帧率,Fk表示出现第k种帧率的时间占所述第三预设时间的比率,k 为小于或等于η的正整数。
[0073] 例如:假设显示画面在Τ3内出现的帧率有10、12、13和21,且出现时间占 Τ3的比率 分别为30 %、10 %、20 %和40 %,那么根据上述公式可以求得加权平均值Y = XAFi+XWFdXs* F3+X4*F4=10*30%+12*10%+13*20%+21*40% = 15.2。
[0074] 步骤②,每当计算的加权平均值小于预设标准平均值时,记为显示画面发生一次 卡顿。
[0075] 其中,所述预设标准平均值,可以由终端的设备厂商在出厂前设定,具体取值这里 不作限定,如预设标准平均值可以设为24。
[0076]例如:假设预设标准平均值为24,且计算的加权平均值为15.2,那么可知加权平均 值小于预设标准平均值,记为显示画面发生一次卡顿。
[0077]步骤③,获知显示画面在第二预设时间内累计发生卡顿的次数。
[0078] 例如:假设T2 = 2秒,T3 = 100毫秒,即在T2内有20个T3,并假设13个T3对应计算的 加权平均值小于预设标准平均值,那么终端可以获知显示画面在T2内发生卡顿的次数为 13。
[0079] S103,当所述发生卡顿的次数高于预设次数阈值时,判断所述终端的内存使用率 是否高于预设比率阈值。
[0080] 应理解的,在一段时间内,显示画面发生卡顿的次数越多,说明卡顿越严重。本发 明实施例中,定义若在第二预设时间内发生卡顿的次数高于预设次数阈值,则认定显示画 面出现严重卡顿。其中,预设次数阈值可以根据第二预设时间来设定,具体取值这里不作限 定,如100毫秒内发生10次卡顿。
[0081] 具体的,终端在第二预设时间内发生卡顿的次数高于预设次数阈值时,查询当前 的内存使用率,并判断当前的内存使用率是否高于预设比率阈值。需要指出的是,在显示画 面发生卡顿时,若终端的内存使用率本身就不高,则说明发生卡顿源于其本身处理性能较 低,这种情况下,即使结束进程也无济于补。因此,终端在结束进程之前,需要确定其内存使 用率要高于预设比率阈值。
[0082] 其中,所述预设比率阈值,可以由终端的设备厂商在出厂前设定,具体取值这里不 作限定,如预设比率阈值可以设为60%。
[0083] S104,若是,则结束当前正在运行的部分或全部的进程。
[0084] 具体的,终端在判定其内存使用率要高于预设比率阈值时,结束当前正在运行的 部分或全部的进程。应理解的,进程的运行需要占用内存,故结束进程可以释放被占用的内 存,进而降低内存使用率。
[0085] 进一步的,终端结束当前正在运行的部分或全部的进程的具体实现方式可以如 下:
[0086]步骤①,查询当前正在运行的进程的内存占用率。
[0087]具体实现过程中,终端可以通过操作系统的任务管理器查询当前正在运行的进 程,以及正在运行的进程的内存占用率。例如:终端查询到当前正在运行的进程有A、B和C, 其内存占用率分别为2%、9%和21%。
[0088]步骤②,按照内存占有率由大到小的顺序,依次结束进程,直至终端的内存使用率 低于所述预设比率阈值。
[0089] 例如:假设当前正在运行的进程有A、B、C、D和E,且内存占用率分别为2%、9%、 21 %、8 %和15 %,那么终端按照C-E-B-D-A的顺序,依次结束进程,直至终端的内存使 用率低于所述预设比率阈值。
[0090] 可选的,终端按照内存占有率由大到小的顺序,依次结束进程的具体实现方式可 以是:先从当前正在运行的进程中筛选出后台进程,再按照内存占有率由大到小的顺序,依 次结束后台进程。其中,后台进程是指不位于显示界面上运行的进程,反之,前台进程是指 位于显示界面上运行的进程。该实现方式的优点在于,可以避免结束前台进程,因为前台进 程往往是用户正在使用的进程,将其结束可能会影响用户的正常使用。
[0091] 本发明实施例中,终端每隔第一预设时间,检测其显示画面的帧率,当检测到显示 画面的帧率小于预设帧率阈值时,获知显示画面在接下来的第二预设时间内发生卡顿的次 数,当发生卡顿的次数高于预设次数阈值时,判断终端的内存使用率是否高于预设比率阈 值,若是,则说明当前发生严重的卡顿,此时结束当前正在运行的部分或全部的进程,使得 内存使用率减小,进而终端的处理速度加快,从而改善卡顿。
[0092] 图2是本发明实施例中另一种终端卡顿的改善方法的流程示意图。如图所示本实 施例中的终端卡顿的改善方法的流程可以包括:
[0093] S201,每隔第一预设时间,检测终端的显示画面的帧率。
[0094]其中,所述第一预设时间,可以由终端的设备厂商在出厂前设定,也可由用户预先 设定,具体取值这里不作限定,如第一预设时间可以设为20秒。为了便于理解本发明实施 例,第一预设时间可以如图7中的T1所示。
[0095] 具体的,终端每间隔T1,检测一次终端的显示画面的帧率。显示画面的帧率是指显 示画面每秒刷新的次数,其大小可以反映刷新速度。应理解的,显示画面的帧率越高,显示 越流畅。
[0096] S202,判断所述显示画面的帧率是否小于预设帧率阈值。
[0097]经研究发现,显示画面的帧率与人类肉眼的观赏效果的关系如下表所示:
[0098]表
[0100] 可见,当显示画面的帧率低于24时,对应的观赏效果为不流畅,因而可选的,可以 将预设帧率阈值设为24帧。
[0101] 一般的,若在一段时间内显示画面的平均帧率低于24帧,则可以认定显示画面发 生卡顿。但需要指出的是,某一时刻显示画面的帧率低于24帧,并不一定会发生卡顿,但可 以说发生卡顿的可能性较大。因此,终端判断检测到显示画面的帧率是否小于预设帧率阈 值时,若是,则执行步骤S203,若否,则结束。
[0102] S203,每隔第三预设时间,计算所述显示画面在当前第三预设时间内的帧率的加 权平均值。
[0103] 同理,所述第三预设时间,可以由终端的设备厂商在出厂前设定,也可由用户预先 设定,具体取值这里不作限定,如第三预设时间可以设为100毫秒。为了便于理解本发明实 施例,第三预设时间可以如图7中的T3所示。
[0104] 具体的,终端根据公式YzXAFi+XWFd. . . .+Xn*F#算显示画面在当前第三预设 时间内的帧率的加权平均值,其中,η为正整数,Y表示加权平均值,X k表示在第三预设时间 内出现的第k种帧率,Fk表示出现第k种帧率的时间占所述第三预设时间的比率,k为小于或 等于η的正整数。
[0105] 例如:假设显示画面在Τ3内出现的帧率有10、12、13和21,且出现时间占 Τ3的比率 分别为30 %、10 %、20 %和40 %,那么根据上述公式可以求得加权平均值Y = XAFi+XWFdXs* F3+X4*F4=10*30%+12*10%+13*20%+21*40% = 15.2。
[0106] S204,每当计算的所述加权平均值小于预设标准平均值时,记为所述显示画面发 生一次卡顿。
[0107] 其中,所述预设标准平均值,可以由终端的设备厂商在出厂前设定,具体取值这里 不作限定,如预设标准平均值可以设为24。
[0108] 例如:假设预设标准平均值为24,且计算的加权平均值为15.2,那么可知加权平均 值小于预设标准平均值,记为显示画面发生一次卡顿。
[0109] S205,获知所述显示画面在第二预设时间内累计发生卡顿的次数。
[0110] 同理,所述第二预设时间,可以由终端的设备厂商在出厂前设定,也可由用户预先 设定,具体取值这里不作限定,如第二预设时间可以设为2秒。为了便于理解本发明实施例, 第二预设时间可以如图7中的T2所示。
[0111] 例如:假设T2 = 2秒,T3 = 100毫秒,即在T2内有20个T3,并假设13个T3对应计算的 加权平均值小于预设标准平均值,那么终端可以获知显示画面在T2内发生卡顿的次数为 13。
[0112] S206,当所述发生卡顿的次数高于预设次数阈值时,判断所述终端的内存使用率 是否高于预设比率阈值。
[0113] 应理解的,在一段时间内,显示画面发生卡顿的次数越多,说明卡顿越严重。本发 明实施例中,定义若在第二预设时间内发生卡顿的次数高于预设次数阈值,则认定显示画 面出现严重卡顿。其中,预设次数阈值可以根据第二预设时间来设定,具体取值这里不作限 定,如100毫秒内发生10次卡顿。
[0114] 具体的,终端在第二预设时间内发生卡顿的次数高于预设次数阈值时,查询当前 的内存使用率,并判断当前的内存使用率是否高于预设比率阈值,若是,则执行步骤S207, 若否,则结束。需要指出的是,在显示画面发生卡顿时,若终端的内存使用率本身就不高,则 说明发生卡顿源于其本身处理性能较低,这种情况下,即使结束进程也无济于补。因此,终 端在结束进程之前,需要确定其内存使用率要高于预设比率阈值。
[0115] 其中,所述预设比率阈值,可以由终端的设备厂商在出厂前设定,具体取值这里不 作限定,如预设比率阈值可以设为60%。
[0116] S207,查询当前正在运行的进程的内存占用率。
[0117] 具体的,终端可以通过操作系统的任务管理器查询当前正在运行的进程,以及正 在运行的进程的内存占用率。例如:终端查询到当前正在运行的进程有A、B和C,其内存占用 率分别为2%、9%和21 %。
[0118] S208,按照所述内存占有率由大到小的顺序,依次结束所述进程,直至所述终端的 内存使用率低于所述预设比率阈值。
[0119] 应理解的,进程的运行需要占用内存,故结束进程可以释放被占用的内存,进而降 低内存使用率。
[0120] 例如:假设当前正在运行的进程有A、B、C、D和E,且内存占用率分别为2%、9%、 21 %、8 %和15 %,那么终端按照C-E-B-D-A的顺序,依次结束进程,直至终端的内存使 用率低于所述预设比率阈值。
[0121]可选的,终端按照内存占有率由大到小的顺序,依次结束进程的具体实现方式可 以是:先从当前正在运行的进程中筛选出后台进程,再按照内存占有率由大到小的顺序,依 次结束后台进程。其中,后台进程是指不位于显示界面上运行的进程,反之,前台进程是指 位于显示界面上运行的进程。该实现方式的优点在于,可以避免结束前台进程,因为前台进 程往往是用户正在使用的进程,将其结束可能会影响用户的正常使用。
[0122]本发明实施例中,终端每隔第一预设时间,检测其显示画面的帧率,当检测到显示 画面的帧率小于预设帧率阈值时,获知显示画面在接下来的第二预设时间内发生卡顿的次 数,当发生卡顿的次数高于预设次数阈值时,判断终端的内存使用率是否高于预设比率阈 值,若是,则说明当前发生严重的卡顿,此时结束当前正在运行的部分或全部的进程,使得 内存使用率减小,进而终端的处理速度加快,从而改善卡顿。
[0123] 图3是本发明实施例中一种终端卡顿的改善装置的结构示意图。如图所示本发明 实施例中的终端卡顿的改善装置至少可以包括帧率检测模块310、卡顿获知模块320、使用 率比较模块330以及进程结束模块340,其中:
[0124] 帧率检测模块310,用于每隔第一预设时间,检测终端的显示画面的帧率。
[0125] 其中,所述第一预设时间,可以由终端的设备厂商在出厂前设定,也可由用户预先 设定,具体取值这里不作限定,如第一预设时间可以设为20秒。为了便于理解本发明实施 例,第一预设时间可以如图7中的T1所示。
[0126] 具体的,帧率检测模块310每间隔T1,检测一次终端的显示画面的帧率。显示画面 的帧率是指显示画面每秒刷新的次数,其大小可以反映刷新速度。应理解的,显示画面的帧 率越高,显示越流畅。
[0127] 卡顿获知模块320,用于当检测到所述显示画面的帧率小于预设帧率阈值时,获知 所述显示画面在接下来的第二预设时间内发生卡顿的次数。具体实现中,所述卡顿获知模 块320可以如图4所示进一步包括加权计算单元321、卡顿计数单元322以及卡顿获知单元 323,其中:
[0128] 加权计算单元321,用于每隔第三预设时间,计算所述显示画面在当前第三预设时 间内的帧率的加权平均值。
[0129] 同理,所述第三预设时间,可以由终端的设备厂商在出厂前设定,也可由用户预先 设定,具体取值这里不作限定,如第三预设时间可以设为100毫秒。为了便于理解本发明实 施例,第三预设时间可以如图7中的T3所示。
[0130] 具体的,加权计算单元321根据公式Y = Xi*Fi+X2*F2+. . . .+Xn*Fn计算显示画面在当 前第三预设时间内的帧率的加权平均值,其中,η为正整数,Y表示加权平均值,Xk表示在第 三预设时间内出现的第k种帧率,F k表示出现第k种帧率的时间占所述第三预设时间的比 率,k为小于或等于η的正整数。
[0131 ] 例如:假设显示画面在Τ3内出现的帧率有10、12、13和21,且出现时间占 Τ3的比率 分别为30 %、10 %、20 %和40 %,那么根据上述公式可以求得加权平均值Y = XAFi+XWFdXs* F3+X4*F4=10*30%+12*10%+13*20%+21*40% = 15.2。
[0132] 卡顿计数单元322,用于每当计算的所述加权平均值小于预设标准平均值时,记为 所述显示画面发生一次卡顿。
[0133] 其中,所述预设标准平均值,可以由终端的设备厂商在出厂前设定,具体取值这里 不作限定,如预设标准平均值可以设为24。
[0134] 例如:假设预设标准平均值为24,且计算的加权平均值为15.2,那么可知加权平均 值小于预设标准平均值,记为显示画面发生一次卡顿。
[0135] 卡顿获知单元323,用于获知所述显示画面在第二预设时间内累计发生卡顿的次 数。
[0136] 同理,所述第二预设时间,可以由终端的设备厂商在出厂前设定,也可由用户预先 设定,具体取值这里不作限定,如第二预设时间可以设为2秒。为了便于理解本发明实施例, 第二预设时间可以如图7中的T2所示。
[0137] 例如:假设T2 = 2秒,T3 = 100毫秒,即在T2内有20个T3,并假设13个T3对应计算的 加权平均值小于预设标准平均值,那么卡顿获知单元323可以获知显示画面在T2内发生卡 顿的次数为13。
[0138] 使用率比较模块330,用于当所述发生卡顿的次数高于预设次数阈值时,判断所述 终端的内存使用率是否高于预设比率阈值。
[0139] 应理解的,在一段时间内,显示画面发生卡顿的次数越多,说明卡顿越严重。本发 明实施例中,定义若在第二预设时间内发生卡顿的次数高于预设次数阈值,则认定显示画 面出现严重卡顿。其中,预设次数阈值可以根据第二预设时间来设定,具体取值这里不作限 定,如100毫秒内发生10次卡顿。
[0140] 具体的,使用率比较模块330在第二预设时间内发生卡顿的次数高于预设次数阈 值时,查询当前的内存使用率,并比较当前的内存使用率是否高于预设比率阈值。需要指出 的是,在显示画面发生卡顿时,若终端的内存使用率本身就不高,则说明发生卡顿源于其本 身处理性能较低,这种情况下,即使结束进程也无济于补。因此,终端在结束进程之前,需要 确定其内存使用率要高于预设比率阈值。
[0141]其中,所述预设比率阈值,可以由终端的设备厂商在出厂前设定,具体取值这里不 作限定,如预设比率阈值可以设为60%。
[0142] 进程结束模块340,用于若是,则结束当前正在运行的部分或全部的进程。具体实 现中,所述进程结束模块340可以如图5所示进一步包括占用率查询单元341和进程结束单 元342,其中:
[0143] 占用率查询单元341,用于查询当前正在运行的进程的内存占用率。
[0144] 具体的,占用率查询单元341可以通过操作系统的任务管理器查询当前正在运行 的进程,以及正在运行的进程的内存占用率。例如:终端查询到当前正在运行的进程有A、B 和C,其内存占用率分别为2%、9%和21%。
[0145] 进程结束单元342,用于按照所述内存占有率由大到小的顺序,依次结束所述进 程,直至所述终端的内存使用率低于所述预设比率阈值。
[0146] 应理解的,进程的运行需要占用内存,故结束进程可以释放被占用的内存,进而降 低内存使用率。
[0147] 例如:假设当前正在运行的进程有A、B、C、D和E,且内存占用率分别为2%、9%、 21 %、8%和15%,那么进程结束单元342按照C-E-B-D-A的顺序,依次结束进程,直至终 端的内存使用率低于所述预设比率阈值。
[0148] 可选的,进程结束单元342按照内存占有率由大到小的顺序,依次结束进程的具体 实现方式可以是:先从当前正在运行的进程中筛选出后台进程,再按照内存占有率由大到 小的顺序,依次结束后台进程。其中,后台进程是指不位于显示界面上运行的进程,反之,前 台进程是指位于显示界面上运行的进程。该实现方式的优点在于,可以避免结束前台进程, 因为前台进程往往是用户正在使用的进程,将其结束可能会影响用户的正常使用。
[0149] 请参阅图6,本发明实施例提供的一种终端的结构示意图,该终端可以用于实施图 1-图2的实施例中提供的终端卡顿的改善方法,其中:
[0150] 所述终端600可以包括电源610、一个或一个以上计算机可读存储介质的存储器 620、显示单元630、处理器640和定时器650等部件。本领域技术人员可以理解,图6中示出的 终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件, 或者不同的部件布置。其中:
[0151] 存储器620可用于存储软件程序以及模块,处理器640通过运行存储在存储器620 的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器620可主要包括存储程 序区和存储数据区。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性 存储器(non-volatile memory),例如至少一个磁盘存储器件、闪存器件、或其他易失性固 态存储器件。相应地,存储器620还可以包括存储器控制器,以提供处理器640和显示单元 630对存储器620的访问。
[0152]显示单元630可用于显示由用户输入的信息或提供给用户的信息以及应用程序的 调用装置600的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任 意组合来构成。显示单元630包括显示屏631,可选的,显示屏631可以是触摸显示屏。
[0153] 定时器650可用于定时触发任务,例如每隔预设的时间触发处理器640调用一次帧 率检测任务。
[0154] 终端600还包括给各个部件供电的电源610(比如电池),优选的,电源可以通过电 源管理系统与处理器640逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗 管理等功能。电源610还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故 障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0155] 处理器640是应用程序的调用装置的控制中心,利用各种接口和线路连接整个手 机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储 在存储器620内的数据,执行各种功能和处理数据。可选的,处理器640可包括一个或多个处 理核心;优选的,处理器640可集成应用处理器和调制解调处理器,其中,应用处理器主要处 理操作系统、用户界面和应用程序等,调制解调处理器主要处理通信。可以理解的是,上述 调制解调处理器也可以不集成到处理器640中。
[0156] 进一步的,处理器640调用存储器620中存储的程序代码,用于执行以下操作:
[0157] 每隔第一预设时间,检测终端的显示画面的帧率;
[0158] 当检测到所述显示画面的帧率小于预设帧率阈值时,获知所述显示画面在接下来 的第二预设时间内发生卡顿的次数;
[0159] 当所述发生卡顿的次数高于预设次数阈值时,判断所述终端的内存使用率是否高 于预设比率阈值;
[0160]若是,则结束当前正在运行的部分或全部的进程。
[0161] 可选的,处理器640获知所述显示画面在接下来的第二预设时间内发生卡顿的次 数的具体操作为:
[0162] 每隔第三预设时间,计算所述显示画面在当前第三预设时间内的帧率的加权平均 值;
[0163] 每当计算的所述加权平均值小于预设标准平均值时,记为所述显示画面发生一次 卡顿;
[0164] 获知所述显示画面在第二预设时间内累计发生卡顿的次数。
[0165] 进一步的,处理器640计算所述显示画面在当前第三预设时间内的帧率的加权平 均值的具体操作为:
[0166] 根据公式Y= (Xi*Fi+X2*F2+. . . .+Xn*Fn)/n计算所述显示画面在当前第三预设时间 内的帧率的加权平均值,其中,所述η为正整数,所述Y表示所述加权平均值,Xk表示在所述 第三预设时间内出现的第k种帧率,F k表示出现第k种帧率的时间占所述第三预设时间的比 率,所述k为小于或等于η的正整数。
[0167] 可选的,处理器640结束当前正在运行的部分或全部的进程的具体操作为:
[0168] 查询当前正在运行的进程的内存占用率;
[0169] 按照所述内存占有率由大到小的顺序,依次结束所述进程,直至所述终端的内存 使用率低于所述预设比率阈值。
[0170]进一步的,处理器640按照所述内存占有率由大到小的顺序,依次结束所述进程, 直至所述终端的内存使用率低于所述预设比率阈值的具体操作为:
[0171] 从所述当前正在运行的进程中筛选出后台进程;
[0172] 按照所述内存占有率由大到小的顺序,依次结束所述后台进程,直至所述终端的 内存使用率低于所述预设比率阈值。
[0173] 本发明实施例还提出了一种计算机存储介质,所述计算机存储介质存储有程序, 所述程序包括若干指令用以执行本发明实施例图1-图2所描述的终端卡顿的改善方法中的 部分或全部的步骤。
[0174] 本发明实施例中,终端每隔第一预设时间,检测其显示画面的帧率,当检测到显示 画面的帧率小于预设帧率阈值时,获知显示画面在接下来的第二预设时间内发生卡顿的次 数,当发生卡顿的次数高于预设次数阈值时,判断终端的内存使用率是否高于预设比率阈 值,若是,则说明当前发生严重的卡顿,此时结束当前正在运行的部分或全部的进程,使得 内存使用率减小,进而终端的处理速度加快,从而改善卡顿。
[0175] 在本说明书的描述中,参考术语"一个实施例"、"一些实施例"、"示例"、"具体示 例"、或"一些示例"等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特 点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不 必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任 一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技 术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结 合和组合。
[0176]此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性 或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或者 隐含地包括至少一个该特征。在本发明的描述中,"多个"的含义是至少两个,例如两个,三 个等,除非另有明确具体的限定。
[0177]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括 一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部 分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺 序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明 的实施例所属技术领域的技术人员所理解。
[0178] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用 于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供 指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执 行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设 备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传 输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装 置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电 连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器 (ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存 储器(CDR0M)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的 介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其 他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0179] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述 实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件 或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下 列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路 的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场 可编程门阵列(FPGA)等。
[0180]本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步 骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介 质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例 中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两 个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可 以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为 独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0181] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描 述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限 制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变 型。
[0182]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范 围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【主权项】
1. 一种终端卡顿的改善方法,其特征在于,所述方法包括: 每隔第一预设时间,检测终端的显示画面的帧率; 当检测到所述显示画面的帧率小于预设帧率阈值时,获知所述显示画面在接下来的第 二预设时间内发生卡顿的次数; 当所述发生卡顿的次数高于预设次数阈值时,判断所述终端的内存使用率是否高于预 设比率阈值; 若是,则结束当前正在运行的部分或全部的进程。2. 如权利要求1所述的方法,其特征在于,所述获知所述显示画面在接下来的第二预设 时间内发生卡顿的次数,包括: 每隔第三预设时间,计算所述显示画面在当前第三预设时间内的帧率的加权平均值; 每当计算的所述加权平均值小于预设标准平均值时,记为所述显示画面发生一次卡 顿; 获知所述显示画面在第二预设时间内累计发生卡顿的次数。3. 如权利要求2所述的方法,其特征在于,所述计算所述显示画面在当前第三预设时间 内的帧率的加权平均值,包括: 根据公式YiXAFi+X^Fd. . . .+Xn*Fn计算所述显示画面在当前第三预设时间内的帧率 的加权平均值,其中,所述η为正整数,所述Y表示所述加权平均值,Xk表示在所述第三预设 时间内出现的第k种帧率,F k表示出现第k种帧率的时间占所述第三预设时间的比率,所述k 为小于或等于η的正整数。4. 如权利要求1所述的方法,其特征在于,所述结束当前正在运行的部分或全部的进 程,包括: 查询当前正在运行的进程的内存占用率; 按照所述内存占有率由大到小的顺序,依次结束所述进程,直至所述终端的内存使用 率低于所述预设比率阈值。5. 如权利要求4所述的方法,其特征在于,所述按照所述内存占有率由大到小的顺序, 依次结束所述进程,直至所述终端的内存使用率低于所述预设比率阈值,包括: 从所述当前正在运行的进程中筛选出后台进程; 按照所述内存占有率由大到小的顺序,依次结束所述后台进程,直至所述终端的内存 使用率低于所述预设比率阈值。6. -种终端卡顿的改善装置,其特征在于,所述装置包括: 帧率检测模块,用于每隔第一预设时间,检测终端的显示画面的帧率; 卡顿获知模块,用于当检测到所述显示画面的帧率小于预设帧率阈值时,获知所述显 示画面在接下来的第二预设时间内发生卡顿的次数; 使用率比较模块,用于当所述发生卡顿的次数高于预设次数阈值时,判断所述终端的 内存使用率是否高于预设比率阈值; 进程结束模块,用于若是,则结束当前正在运行的部分或全部的进程。7. 如权利要求6所述的装置,其特征在于,所述卡顿获知模块包括: 加权计算单元,用于每隔第三预设时间,计算所述显示画面在当前第三预设时间内的 帧率的加权平均值; 卡顿计数单元,用于每当计算的所述加权平均值小于预设标准平均值时,记为所述显 示画面发生一次卡顿; 卡顿获知单元,用于获知所述显示画面在第二预设时间内累计发生卡顿的次数。8. 如权利要求7所述的装置,其特征在于,所述加权计算单元,具体用于: 根据公式YiXAFi+X^Fd. . . .+Xn*Fn计算所述显示画面在当前第三预设时间内的帧率 的加权平均值,其中,所述η为正整数,所述Y表示所述加权平均值,Xk表示在所述第三预设 时间内出现的第k种帧率,F k表示出现第k种帧率的时间占所述第三预设时间的比率,所述k 为小于或等于η的正整数。9. 如权利要求6所述的装置,其特征在于,所述进程结束模块包括: 占用率查询单元,用于查询当前正在运行的进程的内存占用率; 进程结束单元,用于按照所述内存占有率由大到小的顺序,依次结束所述进程,直至所 述终端的内存使用率低于所述预设比率阈值。10. 如权利要求9所述的装置,其特征在于,所述进程结束单元,具体用于:从所述当前 正在运行的进程中筛选出后台进程;按照所述内存占有率由大到小的顺序,依次结束所述 后台进程,直至所述终端的内存使用率低于所述预设比率阈值。11. 一种终端,其特征在于,所述终端包括显示单元、存储器以及处理器,其中,存储器 中存储一组程序,且处理器用于调用存储器中存储的程序,执行以下操作: 每隔第一预设时间,检测终端的显示画面的帧率; 当检测到所述显示画面的帧率小于预设帧率阈值时,获知所述显示画面在接下来的第 二预设时间内发生卡顿的次数; 当所述发生卡顿的次数高于预设次数阈值时,判断所述终端的内存使用率是否高于预 设比率阈值; 若是,则结束当前正在运行的部分或全部的进程。12. 如权利要求11所述的终端,其特征在于,所述处理器获知所述显示画面在接下来的 第二预设时间内发生卡顿的次数的具体操作为: 每隔第三预设时间,计算所述显示画面在当前第三预设时间内的帧率的加权平均值; 每当计算的所述加权平均值小于预设标准平均值时,记为所述显示画面发生一次卡 顿; 获知所述显示画面在第二预设时间内累计发生卡顿的次数。
【文档编号】G06F3/14GK106095363SQ201610390179
【公开日】2016年11月9日
【申请日】2016年6月3日 公开号201610390179.5, CN 106095363 A, CN 106095363A, CN 201610390179, CN-A-106095363, CN106095363 A, CN106095363A, CN201610390179, CN201610390179.5
【发明人】孙建华
【申请人】广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1