一种移动应用程序卡顿度监控和量化评估方法技术

技术编号:19139681 阅读:65 留言:0更新日期:2018-10-13 08:36
本发明专利技术提供了一种移动应用程序卡顿度监控和量化评估方法,包括如下步骤:得到用户界面更新的响应时间,形成分析数据;根据分析数据,确定应用程序操作活跃的区间;统计分析数据中单次操作的长时间响应延迟的情况;统计活跃区间中连续时间內多次响应延迟的情况,判断卡顿窗口;根据单次操作的长时间响应延迟的情况和连续时间內多次响应延迟的情况,得到卡顿程度评分标准。本发明专利技术不仅获取应用程序的卡顿程度得分情况,还获得线程上下文,可用于可视化让用户找到卡顿的原因,能广泛应用于手机终端、smart watch、车载电视等各类移动设备评估应用程序的流畅度,诊断应用程序的卡顿问题,为开发者提供全面的应用程序卡顿程度评价结果。

A monitoring and quantifying evaluation method for mobile applications

The invention provides a method for monitoring and quantifying the Carton degree of a mobile application program, which comprises the following steps: obtaining the response time of user interface updates to form analysis data; determining the active interval of the application program operation according to the analysis data; and analyzing the long time response delay of a single operation in the data; The Carton window is judged by counting the multiple response delays in the continuous time in the active interval, and the Carton degree score standard is obtained according to the long response delays of single operation and the multiple response delays in the continuous time. The invention not only obtains the score of application program's carton degree, but also obtains the thread context, which can be used to visualize the reason why the user can find the carton. It can be widely used in mobile terminal, smart watch, vehicle TV and other mobile devices to evaluate the fluency of application program, diagnose the carton problem of application program, and to open it. The developer provides comprehensive application results of the carton degree evaluation.

【技术实现步骤摘要】
一种移动应用程序卡顿度监控和量化评估方法
本专利技术涉及移动端软件
,具体地,涉及一种移动应用程序卡顿度监控和量化评估方法。
技术介绍
随着移动设备数量的增加,移动应用程序覆盖到的用户数量越来越大,分析应用程序的性能瓶颈,潜在问题,能够提高应用程序的用户体验。其中应用程序的UI流畅度最直接影响了用户体验。在运行时经常出现卡顿或甚至经常产生严重卡顿导致应用程序无响应(ANR)的应用程序往往会被用户淘汰。在评估卡顿程度时,比较常用的做法是通过帧率(FPS)来进行判断移动终端绘制应用程序时的卡顿程度。手机屏幕显示的内容是通过移动设备系统的不同方法,把当前系统里所有进程需要显示的信息合成一帧,然后提交到屏幕上进行显示,FPS就是1秒内移动设备提交到屏幕的帧数。但系统合成帧率低并不一定意味着流畅度差,有可能是因为当前并没有任何的内容更新所导致。对于界面更新不多的App来说,仍不是一个合适的衡量数据。目前没有发现同本专利技术类似技术的说明或报道,也尚未收集到国内外类似的资料。
技术实现思路
针对现有技术中存在的因通过帧率来衡量移动终端绘制应用程序时的卡顿程度时,由于应用程序没有内容更新,无法衡量移动终端绘制应用程序时的卡顿程度的问题,本专利技术提供了一种基于响应时间的移动应用程序卡顿度监控和量化评估方法。本专利技术是通过以下技术方案实现的。一种移动应用程序卡顿度监控和量化评估方法,包括如下步骤:步骤S1,得到用户界面更新的响应时间,形成分析数据;步骤S2,根据分析数据,确定应用程序操作活跃的区间;步骤S3,统计分析数据中单次操作的长时间响应延迟的情况;步骤S4,统计活跃区间中连续时间內多次响应延迟的情况,判断卡顿窗口;步骤S5,根据单次操作的长时间响应延迟的情况和连续时间內多次响应延迟的情况,得到卡顿程度评分标准。优选地,所述步骤S1包括如下步骤:给主线程设置一个函数,该函数能够在主线程上收到用户界面更新的响应时间,为下一步卡顿分析提供分析数据。优选地,将所述分析数据的数据形式简化为一个长度为t的运行时长,操作延迟数据<t_i,l>,其中<t_i,l>为一个数组,t_i为某一消息操作开始的时间戳,l为对应消息的响应时间。优选地,所述步骤S2包括如下步骤:对分析数据中的所有的http操作和用户界面更新进行统计,剔除没有http事件和用户界面更新事件的时间段,设定其余时间段为活跃区间;对于活跃区间,根据http操作和用户界面更新的频率给予不同的权重,越活跃的区间所占的比重越大。优选地,所述步骤S3包括如下步骤:遍历分析数据中所有的消息响应时间l,统计超过阈值L+的次数,记为n,求出应用程序运行活跃区间中出现一次长时间响应延迟情况的平均时间t/n,得到应用程序单次操作的长时间响应延迟的情况。优选地,所述阈值L+设定为1000ms。优选地,所述步骤S4包括如下步骤:利用滑动窗口,统计分析数据中在连续时间內多次响应延迟的情况,判断出卡顿窗口,并计算出卡顿窗口占应用程序活跃区间的比值。优选地,判断卡顿窗口的方法为:将活跃区间分成多个格,每6格为一个滑动窗口;若每个滑动窗口中消息响应时间l超过阈值L-的次数大于等于5次,则认为当前窗口是一个卡顿的窗口,并右移一格,进入下一个考察窗口;遍历整个活跃区间后,对所有的卡顿窗口求并集,得到卡顿窗口的总时间。优选地,每一个所述格的宽度设定为5s;相应地,每一个所述滑动窗口的宽度设定为30s;所述阈值L-设定为200ms。优选地,所述步骤S5中的标准为:将应用程序的卡顿分成两个层面,分别为单次操作的长时间响应延迟和连续时间內多次响应延迟,两个层面各占总卡顿程度得分的50%;根据用户体验规律拟合出合适的打分函数,得到如下分段函数:-单次操作的长时间响应延迟:设x为应用程序运行活跃区间中出现一次长时间响应延迟情况的平均时间t/n的以10为底的对数,有log10t/n,拟合出分段函数stallscore:式中,a1=51.47,a2=24.52,b1=6.122,b2=0.1035,c1=1.194;-连续时间內的多次响应延迟:设y为卡顿窗口占应用程序活跃区间的比值,拟合出分段函数lagscore:式中,a3=136.6,a4=330.7,b3=-5.486,b4=-12.13,c2=1263;总评分为stallscore+lagscore。与现有技术相比,本专利技术具有如下有益效果:本专利技术提供的一种移动应用程序卡顿度监控和量化评估方法,是一种针对移动端应用程序基于响应时间的用户界面(UI)线程卡顿度监督和量化分析评价方法,首先在应用程序运行总时间中找出操作活跃的时间区间,然后根据操作的响应时间将卡顿分成两个层面进行量化:一是统计单次操作的长时间响应延迟;二是利用滑动窗口,统计在连续时间內的多次响应延迟情况,判断出卡顿窗口,并计算出卡顿窗口区间占活跃区间的比值。为两个评价层面都设定了符合用户体验规律的参数,拟合了合适的函数来给出卡顿程度得分。该方法不仅能获取应用程序的卡顿程度得分情况,还能获得线程上下文,可用于可视化让用户找到卡顿的原因,能广泛应用于手机终端、smartwatch、车载电视等各类移动设备评估应用程序的流畅度,诊断应用程序的卡顿问题,为开发者提供全面的应用程序卡顿程度评价结果。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例的方法流程图;图2为本专利技术一实施例的滑动窗口示意图。具体实施方式下面对本专利技术的实施例作详细说明:本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进,这些都属于本专利技术的保护范围。实施例为了解决现有技术中因通过帧率来衡量移动终端绘制应用程序时的卡顿程度时,由于应用程序没有内容更新,无法衡量移动终端绘制应用程序时的卡顿程度的问题,本实例例提供了一种基于响应时间的移动应用程序卡顿度监控和量化评估方法。下面结合附图对本实施例技术方案进行详细说明。如图1所示,本实施例所采用的技术方案,主要包括以下几个步骤:第一,得到用户界面(UI)更新的响应时间移动设备应用程序通常只有一个主线程,UI更新在主线程中进行,主线程关联一个消息列表,根据操作系统不同,可以采用不同回调方法从消息列表中取出消息(消息包括用户输入事件、网络回调、界面更新等)进行UI界面更新。不管是哪种回调方法,回调一定发生在UI线程。因此如果应用发生卡顿,一定是在消息处理函数中执行了耗时操作。本实施例通过给主线程设置一个函数(输出函数),该函数能够在主线程上收到用户输入、UI更新回调、网络回调gps等传感器信息回调时的响应时间,为下一步卡顿分析提供数据(分析数据)。为下一步卡顿分析提供的数据的形式可简化为一个长度为t的运行时长,操作延迟数据<t_i,l>(其中<t_i,l>为一个数组),t_i为某一个消息操作开始的时间戳,l为对应消息的响应时间。第二,确定应用程序操作活跃的区间此时数据的总时长仍然是整个应用程序运本文档来自技高网...

【技术保护点】
1.一种移动应用程序卡顿度监控和量化评估方法,其特征在于,包括如下步骤:步骤S1,得到用户界面更新的响应时间,形成分析数据;步骤S2,根据分析数据,确定应用程序操作活跃的区间;步骤S3,统计分析数据中单次操作的长时间响应延迟的情况;步骤S4,统计活跃区间中连续时间內多次响应延迟的情况,判断卡顿窗口;步骤S5,根据单次操作的长时间响应延迟的情况和连续时间內多次响应延迟的情况,得到卡顿程度评分标准。

【技术特征摘要】
1.一种移动应用程序卡顿度监控和量化评估方法,其特征在于,包括如下步骤:步骤S1,得到用户界面更新的响应时间,形成分析数据;步骤S2,根据分析数据,确定应用程序操作活跃的区间;步骤S3,统计分析数据中单次操作的长时间响应延迟的情况;步骤S4,统计活跃区间中连续时间內多次响应延迟的情况,判断卡顿窗口;步骤S5,根据单次操作的长时间响应延迟的情况和连续时间內多次响应延迟的情况,得到卡顿程度评分标准。2.根据权利要求1所述的移动应用程序卡顿度监控和量化评估方法,其特征在于,所述步骤S1包括如下步骤:给主线程设置一个函数,该函数能够在主线程上收到用户界面更新的响应时间,为下一步卡顿分析提供分析数据。3.根据权利要求2所述的移动应用程序卡顿度监控和量化评估方法,其特征在于,将所述分析数据的数据形式简化为一个长度为t的运行时长,操作延迟数据<t_i,l>,其中<t_i,l>为一个数组,t_i为某一消息操作开始的时间戳,l为对应消息的响应时间。4.根据权利要求1所述的移动应用程序卡顿度监控和量化评估方法,其特征在于,所述步骤S2包括如下步骤:对分析数据中的所有的http操作和用户界面更新进行统计,剔除没有http事件和用户界面更新事件的时间段,设定其余时间段为活跃区间;对于活跃区间,根据http操作和用户界面更新的频率给予不同的权重,越活跃的区间所占的比重越大。5.根据权利要求1所述的移动应用程序卡顿度监控和量化评估方法,其特征在于,所述步骤S3包括如下步骤:遍历分析数据中所有的消息响应时间l,统计超过阈值L+的次数,记为n,求出应用程序运行活跃区间中出现一次长时间响应延迟情况的平均时间t/n,得到应用程序单次操作的长时间响应延迟的情况。6.根据权利要求5所述的移动应用程序卡顿度监控和量化评估方法,其...

【专利技术属性】
技术研发人员:杨扬戚正伟夏鸣远赵文华刁子恒
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1