监控基于 iPhone 平台开发的手机 APP 卡顿的方法技术

技术编号:15254092 阅读:70 留言:0更新日期:2017-05-02 20:01
本发明专利技术公开了一种监控基于iPhone平台开发的手机APP卡顿的方法,通过设置监控主线程运行的检查判断模块,记录主线程由开始处理sources到进入休眠状态的第一停留时间,以及所述主线程由休眠状态到被唤醒状态的第二停留时间,并将停留时间与预设的时间阈值相比较,当停留时间超过时间阈值时,即由处理模块记录所述主线程正在进行的函数调用信息,并通过所述函数调用信息定位所述手机APP的卡顿点。其对APP的卡顿点定位及时准确,并能够实时还原问题现场,方便程序开发者对APP进行修改和优化。

The monitoring method of iPhone platform based on APP mobile phone Caton

The invention discloses a method for monitoring iPhone platform based on APP mobile phone Caton, judging by setting the monitoring module runs in the main thread inspection records, the main thread is started on the sources to enter a dormant state for the first time, and the main thread from a dormant state to wake up the state's second residence time, and the residence time compared with the threshold preset phase, when the residence time exceeds the time threshold, namely the processing module records the main thread is the function call information, and through the function call information for positioning the mobile phone APP Carlton point. The location of the APP Carlton timely and accurate, and can be real-time reduction, convenient for the programmer and modify the parameters of APP.

【技术实现步骤摘要】

本专利技术涉及一种监控手机APP卡顿的方法。更具体地说,本专利技术涉及一种监控基于iPhone平台开发的手机APP卡顿的方法。
技术介绍
iPhone无疑是目前市场上最受欢迎的手机产品,其受到大众的欢迎不止因为美丽的外观,更是由于其出色的使用体验,而iPhone之所以能给使用者带来出色的使用体验,主要是因为其搭载的iOS系统。但是,iOS也有一定的缺点,比如,iOS平台因为UIKit本身的特性,需要将所有的UI操作都放在主线程执行,这样造成不少程序员习惯将一些线程安全性不确定的逻辑,以及其它线程结束后的汇总工作等放到主线程,所以主线程中包含的这些大量计算、IO、绘制都有可能造成卡顿。因而,面对iPhone如此大的市场,针对iPhone开发的APP层出不穷,所以开发出一种能够帮助iPhone程序开发者及时准确定位开发的APP的卡顿点的方法,必将大大简化程序开发者优化修改程序的工作量。
技术实现思路
本专利技术的一个目的是解决至少上述问题,并提供至少后面将说明的优点。本专利技术还有一个目的是提供一种监控基于iPhone平台开发的手机APP卡顿的方法,其能够及时准确的定位APP的卡顿点,实时还原问题现场,方便程序开发者对APP进行修改和优化。为了实现根据本专利技术的这些目的和其它优点,提供了一种监控基于iPhone平台开发的手机APP卡顿的方法,通过设置监控主线程运行的检查判断模块,实现对手机APP的卡顿点的定位;包括如下步骤:步骤1、所述检查判断模块记录主线程由开始处理sources到进入休眠状态的第一停留时间,并将所述第一停留时间与预设的第一时间阈值相比较;步骤2、所述检查判断模块记录所述主线程由休眠状态到被唤醒状态的第二停留时间,并将所述第二停留时间与预设的第二时间阈值相比较;步骤3、当所述第一停留时间超过所述第一时间阈值,或当所述第二停留时间超过所述第二时间阈值时,即向处理模块发出通知;步骤4、所述处理模块接收到所述通知后,记录所述主线程正在进行的函数调用信息,并通过所述函数调用信息定位所述手机APP的卡顿点。优选的是,所述的监控基于iPhone平台开发的手机APP卡顿的方法中,所述检查判断模块通过设置监控所述主线程运行的子线程实现对手机APP的卡顿点的定位。优选的是,所述的监控基于iPhone平台开发的手机APP卡顿的方法中,所述处理模块在将所述函数调用信息记录前,还对所述函数调用信息的数据进行过滤处理。优选的是,所述的监控基于iPhone平台开发的手机APP卡顿的方法中,所述检查判断模块设置有时间累积装置,所述时间累积装置用于将所述主线程运行过程中的多次停顿时间进行累积,并与预设的第三时间阈值进行比较,以判断所述主线程运行是否超时。优选的是,所述的监控基于iPhone平台开发的手机APP卡顿的方法中,所述处理上报模块还设置有卡顿收集组件,所述卡顿收集组件用于收集造成卡顿时的函数调用信息,和与所述卡顿时对应的所述主线程的堆栈信息。本专利技术至少包括以下有益效果:通过设置实时监控主线程运行的检查判断模块以监控所述主线程在所需监控状态的停留时间,并将停留时间与预设的阈值时间进行比较,因此能在停留时间超出阈值时间时,即主线程发生卡顿的卡顿点及时告知处理上报模块,处理上报模块将卡顿点此时正在调用的函数信息记录,并通过所述函数调用信息来定位所述手机APP的卡顿点,然后开发人员可以根据定位的卡顿点对APP进行针对性的逻辑修改和优化,大大降低了开发人员开发手机APP的开发和调试难度,提高了工作效率。本专利技术的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本专利技术的研究和实践而为本领域的技术人员所理解。具体实施方式下面对本专利技术做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其它元件或其组合的存在或添加。本专利技术提供一种监控基于iPhone平台开发的手机APP卡顿的方法,通过设置实时监控主线程运行的检查判断模块,实现对手机APP的卡顿点的定位;包括如下步骤:步骤1、所述检查判断模块记录主线程由开始处理sources到进入休眠状态的第一停留时间,并将所述第一停留时间与预设的第一时间阈值相比较;步骤2、所述检查判断模块记录所述主线程由休眠状态到被唤醒状态的第二停留时间,并将所述第二停留时间与预设的第二时间阈值相比较;步骤3、当所述第一停留时间超过所述第一时间阈值,或当所述第二停留时间超过所述第二时间阈值时,即向处理模块发出通知;步骤4、所述处理模块接收到所述通知后,记录所述主线程正在进行的函数调用信息,并通过所述函数调用信息定位所述手机APP的卡顿点。在上述方案中,由于iOS平台本身的特点,基于iPhone平台开发的手机APP在运行过程中,只在主线程由处理sources到进入休眠状态的时段,以及主线程由休眠状态到被唤醒状态的时段内,APP的运行才会调用上层函数,而在其他状态时均是线程自行运行的过程,线程仅在调用上层函数时才有可能发生卡顿,因而本专利技术的技术方案仅需记录上述两个时段的停留时间,而不必对主线程的整个运行阶段进行监控,即提高了监控的效率。一个优选方案中,所述检查判断模块通过设置监控所述主线程运行的子线程实现对手机APP的卡顿点的定位。在上述方案中,通过在检查判断模块中设置时刻伴随主线程运行的子线程,由子线程对主线程进行实时的监控,并记录主线程在处理sources到进入休眠状态和由休眠状态到被唤醒状态的停留时间。一个优选方案中,所述处理模块在将所述函数调用信息记录前,还对所述函数调用信息的数据进行过滤处理。在上述方案中,因为在主线程运行的同时,还有若干子线程也在运行,因而在捕捉到主线程卡顿点后,抓取的主线程调用函数的信息中也包含若干子线程的数据信息,因此,对抓取到的数据做过滤处理,可以过滤掉子线程的数据信息,而只留下主线程的数据信息,从而使卡顿点的定位不受子线程数据的影响,使得卡顿点的定位更加准确。一个优选方案中,所述检查判断模块设置有时间累积装置,所述时间累积装置用于将所述主线程运行过程中的多次停顿时间进行累积,并与预设的第三时间阈值进行比较,以判断所述主线程运行是否超时。在上述方案中,在检查判断模块中还设置有时间积累装置,使得检查判断模块在记录主线程的单次长时间卡顿的同时,也能记录多次连续的短时间卡顿,然后通过将短时间卡顿的时间相累加,再与预设的时间阈值相比较,进而判断主线程的运行有无卡顿,这样使得对主线程的卡顿点的监控更加全面,更加利于开发者对APP的调试和修改。一个优选方案中,所述处理上报模块还设置有卡顿收集组件,所述卡顿收集组件用于收集造成卡顿时的函数调用信息,和与所述卡顿时对应的所述主线程的堆栈信息。在上述方案中,通过设置卡顿收集组件,可以将收集到的多个的卡顿数据进行集合分析,并抓取与卡顿点对应的主线程的堆栈信息,从而准确定位卡顿点。尽管本专利技术的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本专利技术的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本专利技术并不限于特定的细节。本文档来自技高网...

【技术保护点】
一种监控基于iPhone平台开发的手机APP卡顿的方法,通过设置监控主线程运行的检查判断模块,实现对手机APP的卡顿点的定位;包括如下步骤:步骤1、所述检查判断模块记录主线程由开始处理sources到进入休眠状态的第一停留时间,并将所述第一停留时间与预设的第一时间阈值相比较;步骤2、所述检查判断模块记录所述主线程由休眠状态到被唤醒状态的第二停留时间,并将所述第二停留时间与预设的第二时间阈值相比较;步骤3、当所述第一停留时间超过所述第一时间阈值,或当所述第二停留时间超过所述第二时间阈值时,即向处理模块发出通知;步骤4、所述处理模块接收到所述通知后,记录所述主线程正在进行的函数调用信息,并通过所述函数调用信息定位所述手机APP的卡顿点。

【技术特征摘要】
1.一种监控基于iPhone平台开发的手机APP卡顿的方法,通过设置监控主线程运行的检查判断模块,实现对手机APP的卡顿点的定位;包括如下步骤:步骤1、所述检查判断模块记录主线程由开始处理sources到进入休眠状态的第一停留时间,并将所述第一停留时间与预设的第一时间阈值相比较;步骤2、所述检查判断模块记录所述主线程由休眠状态到被唤醒状态的第二停留时间,并将所述第二停留时间与预设的第二时间阈值相比较;步骤3、当所述第一停留时间超过所述第一时间阈值,或当所述第二停留时间超过所述第二时间阈值时,即向处理模块发出通知;步骤4、所述处理模块接收到所述通知后,记录所述主线程正在进行的函数调用信息,并通过所述函数调用信息定位所述手机APP的卡顿点。2.如权利要求1所述的监控基于iPhone平台开发的手机APP卡顿的方法,其特...

【专利技术属性】
技术研发人员:王勇
申请(专利权)人:北京金和网络股份有限公司
类型:发明
国别省市:北京;11

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

1