本申请实施例涉及计算机,尤其涉及一种应用界面卡顿预防方法、系统、设备及存储介质。
背景技术:
1、目前,随着移动互联网的快速发展,应用程序的业务也越来越复杂。一般而言,应用程序会通过主线程执行用户界面(user interface,ui)绘制流程,根据设定的屏幕刷新频率执行用户界面的绘制与刷新。此外,应用程序在启动时往往需要对很多的自身服务、业务功能模块或是第三方库等内容进行初始化。在初始化任务中,应用程序的主线程需要执行一些相关的业务,如显示一张图片,执行一个动画等等。
2、但是,由于应用程序主线程需要执行界面绘制和其他相关业务,当应用程序中过多的业务代码插入到主线程中执行时,会占用主线程的处理时间,影响界面绘制业务。此时应用程序界面的刷新会存在延迟,导致屏幕显示画面出现明显卡顿的现象,影响用户的使用体验。
技术实现思路
1、本申请实施例提供一种应用界面卡顿预防方法、系统、设备及存储介质,能够预测应用界面卡顿现象,提升应用界面刷新流畅度,解决应用程序界面的刷新存在延迟的技术问题。
2、在第一方面,本申请实施例提供了一种应用界面卡顿预防方法,包括:
3、获取屏幕的刷新时间间隔,在系统时间处于刷新时间间隔的情况下,通过主线程依次执行各个指定任务;
4、累计各个指定任务的任务耗时,在任务耗时达到设定时间阈值的情况下,停止执行指定任务,并在屏幕刷新时间节点通过主线程执行应用界面绘制流程,时间阈值根据刷新时间间隔设置。
5、在第二方面,本申请实施例提供了一种应用界面卡顿预防系统,包括:
6、执行模块,配置为获取屏幕的刷新时间间隔,在系统时间处于刷新时间间隔的情况下,通过主线程依次执行各个指定任务;
7、预防模块,配置为累计各个指定任务的任务耗时,在任务耗时达到设定时间阈值的情况下,停止执行指定任务,并在屏幕刷新时间节点通过主线程执行应用界面绘制流程,时间阈值根据刷新时间间隔设置。
8、在第三方面,本申请实施例提供了一种应用界面卡顿预防设备,包括:
9、存储器以及一个或多个处理器;
10、所述存储器,配置为存储一个或多个程序;
11、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的应用界面卡顿预防方法。
12、在第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由计算机处理器执行时配置为执行如第一方面所述的应用界面卡顿预防方法。
13、在第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品中包含有指令,当指令在计算机或处理器上运行时,使得计算机或处理器执行如第一方面所述的应用界面卡顿预防方法。
14、本申请实施例通过获取屏幕的刷新时间间隔,在系统时间处于刷新时间间隔的情况下,通过主线程依次执行各个指定任务;进而累计各个指定任务的任务耗时,在任务耗时达到设定时间阈值的情况下,停止执行指定任务,并在屏幕刷新时间节点通过主线程执行应用界面绘制流程,时间阈值根据刷新时间间隔设置。采用上述技术手段,通过在屏幕的刷新时间间隔使用主线程处理相关任务,并累计任务耗时,在任务耗时达到设定时间阈值,接近屏幕刷新时间节点的情况下,停止执行指定任务,以让出主线程的处理资源用于应用界面的绘制与刷新,确保应用界面按照正常的刷新频率进行刷新,进而避免屏幕卡顿的情况。提升应用界面显示的流畅性,提升用户的使用体验。并且,通过在刷新时间间隔尽可能地处理指定任务,可以充分利用主线程的处理资源,优化主线程技术资源的利用。
1.一种应用界面卡顿预防方法,其特征在于,包括:
2.根据权利要求1所述的应用界面卡顿预防方法,其特征在于,所述累计各个所述指定任务的任务耗时,在所述任务耗时达到设定时间阈值的情况下,停止执行所述指定任务,包括:
3.根据权利要求1-2任一所述的应用界面卡顿预防方法,其特征在于,所述设定时间阈值等于所述刷新时间间隔或者小于所述刷新时间间隔设定值。
4.根据权利要求1所述的应用界面卡顿预防方法,其特征在于,所述累计各个所述指定任务的任务耗时,在所述任务耗时达到设定时间阈值的情况下,停止执行所述指定任务,还包括:
5.根据权利要求4所述的应用界面卡顿预防方法,其特征在于,所述确定当前所述指定任务的预测耗时,包括:
6.根据权利要求4所述的应用界面卡顿预防方法,其特征在于,在执行当前所述指定任务之前,还包括:
7.一种应用界面卡顿预防系统,其特征在于,包括:
8.一种应用界面卡顿预防设备,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由计算机处理器执行时配置为执行如权利要求1-6任一所述的应用界面卡顿预防方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品中包含有指令,当所述指令在计算机或处理器上运行时,使得所述计算机或处理器执行如权利要求1-6任一所述的应用界面卡顿预防方法。