CN112596980A - ios性能收集方法及装置、移动终端、计算机可读存储介质 - Google Patents

ios性能收集方法及装置、移动终端、计算机可读存储介质 Download PDF

Info

Publication number
CN112596980A
CN112596980A CN202011546934.7A CN202011546934A CN112596980A CN 112596980 A CN112596980 A CN 112596980A CN 202011546934 A CN202011546934 A CN 202011546934A CN 112596980 A CN112596980 A CN 112596980A
Authority
CN
China
Prior art keywords
crash
information
stuck
abnormal information
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011546934.7A
Other languages
English (en)
Inventor
白兴忠
李晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai I2finance Software Co ltd
Original Assignee
Shanghai I2finance Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai I2finance Software Co ltd filed Critical Shanghai I2finance Software Co ltd
Priority to CN202011546934.7A priority Critical patent/CN112596980A/zh
Publication of CN112596980A publication Critical patent/CN112596980A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种ios性能收集方法及装置、移动终端、计算机可读存储介质,该方法包括:获取崩溃异常信息和/或卡顿异常信息;将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器;其中,所述崩溃异常信息通过崩溃监测机制获取,所述卡顿异常信息通过卡顿监测机制获取。本发明的技术方案,通过自动收集崩溃异常信息和/或卡顿异常信息,不再需要经过用户同意确认后才能收集,这样服务器接收到的异常信息量将大大增加,且更加全面,供应商能够依据该信息进行针对性地优化升级,从而提高用户体验。

Description

ios性能收集方法及装置、移动终端、计算机可读存储介质
技术领域
本申请涉及移动通信领域,尤其涉及一种ios性能收集方法及装置、移动终端、计算机可读存储介质。
背景技术
随着移动应用的发展,用户对于手机应用的流畅度,网络等待时间,崩溃、卡顿问题的重视程度相应提高,应用的体验会影响公司的品牌形象。持续优化应用,增强用户体验依托于用户体验信息,而苹果官方收集的用户体验信息仅有app的崩溃日志,对于手机整体流畅度,网络等待时间,崩溃、卡顿问题等信息处于缺失状态。同时,只有用户同意手机体验改进收集的情况下应用才能收到用户的崩溃信息,导致可收集到的信息进一步减少。同时,因保密原则,不允许接入第三方手机信息插件的情况下,使得信息收集更加困难。因此,ios线上性能信息收集工具的需求迫在眉睫。
发明内容
为解决上述问题,本发明提出了一种ios性能收集方法及装置、移动终端、计算机存储介质,以解决现有技术中收集的用户信息较单一且较少的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明提供了一种ios性能收集方法,所述方法包括:
获取崩溃异常信息和/或卡顿异常信息;
将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器;
其中,所述崩溃异常信息通过崩溃监测机制获取,所述卡顿异常信息通过卡顿监测机制获取。
第二方面,本发明提供了一种ios性能收集装置,所述装置包括:
崩溃监测单元,用于获取崩溃异常信息;
和/或卡顿监测单元,用于获取卡顿异常信息;
上传单元,用于将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器;
其中,所述崩溃异常信息通过崩溃监测机制获取,所述卡顿异常信息通过卡顿监测机制获取。
第三方面,本发明提供了一种移动终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运用的计算机程序,所述计算机程序被所述处理器执行时实现如上述第一方面中所述的ios性能收集方法的步骤。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中所述的ios性能收集方法的步骤。
与现有技术相比,本发明的有益效果如下:本申请通过崩溃监测机制获取崩溃异常信息和/或通过卡顿监测机制获取卡顿异常信息,将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器,这样通过自动收集崩溃异常信息和/或卡顿异常信息的方法,不再需要经过用户同意确认后才能进行信息收集,这样服务器接收到的异常信息量将大大增加,且更加全面,供应商能够依据该信息进行针对性地优化升级,从而提高用户体验。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明一种实施例的ios性能收集方法的流程图;
图2是本发明一种实施例的获取崩溃异常信息的流程图;
图3是本发明一种实施例的获取卡顿异常信息的流程图;
图4是本发明一种实施例的ios性能收集装置的结构示意图;
图5是本发明各实施例的一种移动终端的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明实施例提供了一种ios性能收集方法及装置、移动终端、计算机存储介质。
下面首先对本发明实施例提供的一种ios性能收集方法进行介绍。
需要说明的是,本发明实施例提供的方法的执行主体可以移动终端,所述移动终端可以包括手机、平板电脑、个人数字助理等等,本发明实施例对此不作限定。本发明所述方法的应用场景主要针对ios(苹果公司的移动操作系统),收集ios客户端线上版本应用的崩溃和卡顿等性能信息。
图1是本发明实一个实施例的ios性能收集方法的流程图,如图1所示,该方法包括以下步骤:
在步骤101中,获取崩溃异常信息和/或卡顿异常信息。
当移动终端在开机使用时,会打开各种不同的应用,此时可能会出现崩溃,即我们通常所说的死机,或者应用打开很慢、不流畅。因此当移动终端开机后,打开某个应用时,将会触发所述ios线上性能收集的启动,即收集崩溃异常信息和/或卡顿异常信息。其中,所述崩溃异常信息通过崩溃监测机制获取,所述卡顿异常信息通过卡顿监测机制获取。
在步骤102中,将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器。
一旦收集到崩溃异常信息和/或卡顿异常信息,将会把所述崩溃异常信息和/或所述卡顿异常信息上传到服务器,不需要用户同意确认,为供应商提供了更多的用户基于ios使用应用的实际体验信息,进而供应商可以根据所述收集的异常信息对应用程序或者终端进行升级优化。
进一步的,所述崩溃监测机制是基于runtime交换机制,所述卡顿监测机制是基于runloop技术。其中,所述runtime交换机制以及runloop技术是现有技术,在此不再赘述。
为了便于理解,结合图2和图3对步骤1作进一步描述,先结合图2,图2是本发明一种实施例的获取崩溃异常信息的流程图,该获取崩溃异常信息的步骤包括:
在步骤201中,注册监控崩溃信号量。
在移动终端的程序开始时,就会触发监控崩溃信息量的注册。该信号量存在整个事件发生过程中。
在步骤202中,通过所述监控崩溃信号量捕获崩溃信息。
当出现崩溃情况时,该信号量能都自动捕获到崩溃信息。
在步骤203中,对所述崩溃信息进行处理,获取崩溃异常信息。
在捕获到崩溃信息后,对收集到的崩溃信息进行处理。当有事件发生时,数据结构中的指针会指向堆栈中的不同位置,所述堆栈中存有数据信息和地址等信息,当崩溃发生时,获取此时指针指向的堆栈的位置以及该位置中存储的数据信息和地址信息。
可选地,所述崩溃异常信息还包括当前窗口的控制器,所述当前窗口的控制器通过遍历方式获取,即通过逐一排查的方式来获取发生崩溃的当前窗口的控制器。
可选地,所述崩溃异常信息还包括当前窗口的层级控制器,所述当前窗口的层级控制器通过拼接方式获取。具体地,当前窗口可能是通过打开一个应用后,又进一步点进其中的某个功能模块,例如打开百度浏览器后,然后又点开了首页的视频中腾讯视频端,那么各层级的打开是通过其对应的控制器来完成的,此时,获取各层级的控制器。
可选地,所述崩溃异常信息还包括设备信息。所述设备信息可以包括:当前设备的版本号,崩溃发生的时间,设备类型等。
下面结合图3对步骤101作进一步描述,图3是本发明一种实施例的获取卡顿异常信息的流程图,该获取卡顿异常信息的步骤包括:
在步骤301中,添加Observer到主线程的runloop中。
Observer可以为共享和交换式网络环境提供测试、捕捉和趋势分析的功能。
在步骤302中,通过所述Observer监控所述主线程的状态。
在步骤303中,获取主线程Runloop(kCFRunLoopBeforeSources和kCFRunLoopBeforeWaiting)之间的第一耗时;获取主线程Runloop(kCFRunLoopAfterWaiting)的第二耗时。
卡顿可能发生在主线程中的某个/某些进程的启动时或进程切换时,还可能发生在某个进程启动后运行中的时候,为此通过获取主线程Runloop(kCFRunLoopBeforeSources和kCFRunLoopBeforeWaiting)之间的第一耗时,以及获取主线程Runloop(kCFRunLoopAfterWaiting)的第二耗时,即可以监控其是否发生卡顿的情况。其中,所述第一耗时的获取与第二耗时的获取没有先后关系,两者都是伴随着主线程而在不断进行中。
在步骤304中,判断所述第一耗时和/或所述第二耗时是否超过预设阈值。
该预设阈值是开发者或者供应商根据实际情况预先设置。不论是第一耗时超过了预设阈值,还是第二耗时超过了预设阈值,又或者是两者都超过了预设阈值,都说明发生了卡顿的情况,即当判定结果为是时,说明发生了卡顿异常,则执行步骤305;若第一耗时与第二耗时都没有超过预设阈值,说明没有发生卡顿异常,则回到步骤303。
在步骤305中,获取所述卡顿异常信息。
所述卡顿异常信息包括卡顿位置的堆栈信息。当有事件发生时,数据结构中的指针会指向堆栈中的不同位置,所述堆栈中存有数据信息和地址等信息,当卡顿发生时,获取此时指针指向的堆栈的位置以及该位置中存储的数据信息和地址信息。
可选地,所述卡顿异常信息还可以包括当前窗口的控制器、当前窗口的层级控制器、设备信息中的至少一个,其获取的方式同崩溃信息中的对应信息获取方式一样,在此不再赘述。其中,所述设备信息可以包括:当前设备的版本号,崩溃发生的时间,设备类型等。
上述所述的获取崩溃异常信息的步骤是基于runtime交换机制,所述卡顿监测机制是基于runloop技术,因此不需要接入第三方插件,可以避免隐私泄露的问题,尽量较少了对程序模块的侵入,也避免了过分耦合造成的难以维护的问题。
由上述实施例可见,该实施例中,通过崩溃监测机制获取崩溃异常信息和/或通过卡顿监测机制获取卡顿异常信息,将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器,这样通过自动收集崩溃异常信息和/或卡顿异常信息的方法,不再需要经过用户同意确认后才能收集,这样服务器接收到的异常信息量将大大增加,且更加全面,供应商能够依据该信息进行针对性地优化升级,从而提高用户体验。
图4是本发明的一种实施例的ios性能收集装置的结构示意图,该装置应用于移动终端,尤其是使用ios的终端。如图4所示,该装置包括崩溃监测单元401和/或卡顿监测单元402、上传单元403,其中,
所述崩溃监测单元401,用于获取崩溃异常信息;
所述卡顿监测单元402,用于获取卡顿异常信息;
所述上传单元403,用于将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器;
其中,所述崩溃异常信息通过崩溃监测机制获取,所述卡顿异常信息通过卡顿监测机制获取。
可选地,所述崩溃监测机制是基于runtime交换机制,所述卡顿监测机制是基于runloop技术。
由上述实施例可见,该实施例中,通过崩溃监测机制获取崩溃异常信息和/或通过卡顿监测机制获取卡顿异常信息,将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器,这样通过自动收集崩溃异常信息和/或卡顿异常信息的方法,不再需要经过用户同意确认后才能收集,这样服务器接收到的异常信息量将大大增加,且更加全面,供应商能够依据该信息进行针对性地优化升级,从而提高用户体验。
可选地,作为一个实施例,所述崩溃监测单元401包括注册模块、第一获取模块。其中,所述注册模块用于注册监控崩溃信号量;所述第一获取模块用于通过所述监控崩溃信号量捕获崩溃信息,对所述崩溃信息进行处理,获取崩溃异常信息,所述崩溃异常信息包括崩溃位置的堆栈信息。
可选地,所述崩溃异常信息还可以包括:通过遍历获取的当前窗口的控制器、通过拼接获取的当前窗口的层级控制器、当前设备信息中的至少一个。
可选地,作为一个实施例,所述卡顿监测单元402包括添加模块、第二获取模块,其中所述添加模块用于将Observer到主线程的runloop中;所述第二获取模块用于通过所述Observer监控所述主线程的状态,从而获取卡顿异常信息。
进一步地,所述卡顿监测单元402还包括耗时获取模块、比对模块、判定模块。其中,所述耗时获取模块用于获取主线程Runloop(kCFRunLoopBeforeSources和kCFRunLoopBeforeWaiting)之间的第一耗时和观察主线程Runloop(kCFRunLoopAfterWaiting)的第二耗时;所述比对模块用于将第一耗时和第二耗时分别于预设阈值进行比对;所述判定模块用于如果第一耗时和第二耗时只要有一个超过了预设阈值,则判定发生卡顿;如果所述第一耗时和所述第二耗时都没有超过所述预设阈值,则判定没有发生卡顿。当判定发生卡顿时,第二获取模块具体用于获取卡顿位置的堆栈信息。
可选地,所述第二获取模块还可以用于通过遍历获取当前窗口的控制器。
可选地,所述第二获取模块还可以用于通过拼接当前窗口的层级控制器。
可选地,所述第二获取模块还可以用于获取当前设备信息。
可选地,所述设备信息包括:设备版本号,崩溃发生的时间,设备类型。
图5为实现本发明实施例的终端设备的硬件结构示意图。如图5所示,该终端设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的终端设备结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器510,用于执行以下方法:
获取崩溃异常信息和/或卡顿异常信息;
将所述崩溃异常信息和/或卡顿异常信息分别上传至服务器;
其中,所述崩溃异常信息通过崩溃监测机制获取,所述卡顿异常信息通过卡顿监测机制获取。
由于通过崩溃监测机制获取崩溃异常信息和/或通过卡顿监测机制获取卡顿异常信息,将所述崩溃异常信息和/或卡顿异常信息分别上传至服务器,这样通过自动收集崩溃异常信息和/或卡顿异常信息的方法,不再需要经过用户同意确认后才能收集,这样服务器接收到的异常信息量将大大增加,且更加全面,供应商能够依据该信息进行针对性地优化升级,从而提高用户体验。
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
终端设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与终端设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
终端设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在终端设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,其中红外线传感器能够通过发射和接收红外光测量物体与终端设备之间的距离,在此不再赘述。
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现终端设备的输入和输出功能,具体此处不做限定。
接口单元508为外部装置与终端设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端设备500内的一个或多个元件或者可以用于在终端设备500和外部装置之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
终端设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,终端设备500包括一些未示出的功能模块,在此不再赘述。
可选地,本发明实施例还提供一种终端设备,其可包括处理器510,存储器509,存储在存储器509上并可在所述处理器510上运行的计算机程序,该计算机程序被处理器510执行时实现上述图1至图3所示的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述环境监测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种ios性能收集方法,其特征在于,所述方法包括:
获取崩溃异常信息和/或卡顿异常信息;
将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器;
其中,所述崩溃异常信息通过崩溃监测机制获取,所述卡顿异常信息通过卡顿监测机制获取。
2.根据权利要求1所述的方法,其特征在于,所述崩溃监测机制是基于runtime交换机制。
3.根据权利要求1所述的方法,其特征在于,所述卡顿监测机制是基于runloop技术。
4.权利要求2所述的方法,其特征在于,所述崩溃异常信息通过崩溃监测机制获取,包括:
注册监控崩溃信号量;
通过所述监控崩溃信号量捕获崩溃信息;
对所述崩溃信息进行处理,获取所述崩溃异常信息;
其中,所述崩溃异常信息包括崩溃位置的堆栈信息。
5.根据权利要求3所述的方法,其特征在于,所述卡顿异常信息通过卡顿监测机制获取,包括:
添加Observer到主线程的runloop中;
通过所述Observer监控所述主线程的状态,从而获取所述卡顿异常信息。
6.根据权利要求5所述的方法,其特征在于,所述通过所述Observer监控所述主线程的状态,从而获取卡顿异常信息,包括:
获取主线程Runloop(kCFRunLoopBeforeSources)和Runloop(kCFRunLoopBeforeWaiting)之间的第一耗时;
获取主线程Runloop(kCFRunLoopAfterWaiting)的第二耗时;
若所述第一耗时和/或所述第二耗时超过预设阈值,则判定发生卡顿;
获取所述卡顿异常信息;
其中,所述卡顿异常信息包括卡顿位置的堆栈信息。
7.根据权利要求4或6所述的方法,其特征在于,所述崩溃异常信息和/或所述卡顿异常信息还包括:
通过遍历获取的当前窗口的控制器;
通过拼接获取的当前窗口的层级控制器。
8.一种ios性能收集装置,其特征在于,所述装置包括:
崩溃监测单元,用于获取崩溃异常信息;
和/或卡顿监测单元,用于获取卡顿异常信息;
上传单元,用于将所述崩溃异常信息和/或所述卡顿异常信息分别上传至服务器;
其中,所述崩溃异常信息通过崩溃监测机制获取,所述卡顿异常信息通过卡顿监测机制获取。
9.一种移动终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运用的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的ios性能收集方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的ios性能收集方法的步骤。
CN202011546934.7A 2020-12-24 2020-12-24 ios性能收集方法及装置、移动终端、计算机可读存储介质 Pending CN112596980A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011546934.7A CN112596980A (zh) 2020-12-24 2020-12-24 ios性能收集方法及装置、移动终端、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011546934.7A CN112596980A (zh) 2020-12-24 2020-12-24 ios性能收集方法及装置、移动终端、计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN112596980A true CN112596980A (zh) 2021-04-02

Family

ID=75200800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011546934.7A Pending CN112596980A (zh) 2020-12-24 2020-12-24 ios性能收集方法及装置、移动终端、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112596980A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094240A (zh) * 2021-04-26 2021-07-09 北京顺达同行科技有限公司 应用程序的异常监控方法、移动终端和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114253A (zh) * 2006-07-26 2008-01-30 腾讯科技(深圳)有限公司 一种程序崩溃信息上报的方法及系统
KR101860674B1 (ko) * 2017-06-20 2018-05-23 넷마블 주식회사 크래시 리포트 그룹핑 방법, 서버 및 컴퓨터 프로그램
CN110659185A (zh) * 2019-10-09 2020-01-07 云南电网有限责任公司信息中心 一种基于真实用户感知的移动app用户体验监测方法
CN111538638A (zh) * 2020-04-28 2020-08-14 北京思特奇信息技术股份有限公司 一种iOS端应用程序性能的监控方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114253A (zh) * 2006-07-26 2008-01-30 腾讯科技(深圳)有限公司 一种程序崩溃信息上报的方法及系统
KR101860674B1 (ko) * 2017-06-20 2018-05-23 넷마블 주식회사 크래시 리포트 그룹핑 방법, 서버 및 컴퓨터 프로그램
CN110659185A (zh) * 2019-10-09 2020-01-07 云南电网有限责任公司信息中心 一种基于真实用户感知的移动app用户体验监测方法
CN111538638A (zh) * 2020-04-28 2020-08-14 北京思特奇信息技术股份有限公司 一种iOS端应用程序性能的监控方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094240A (zh) * 2021-04-26 2021-07-09 北京顺达同行科技有限公司 应用程序的异常监控方法、移动终端和存储介质
CN113094240B (zh) * 2021-04-26 2023-09-29 北京顺达同行科技有限公司 应用程序的异常监控方法、移动终端和存储介质

Similar Documents

Publication Publication Date Title
CN108845853B (zh) 一种应用程序启动方法及移动终端
CN107580147B (zh) 一种通知消息的管理方法和移动终端
WO2019080929A1 (zh) 消息提示方法、移动终端
CN108681498B (zh) 一种cpu占用率的监测方法、装置以及移动终端
CN111258468B (zh) 一种信息处理方法及电子设备
CN109976611B (zh) 终端设备的控制方法及终端设备
CN109271297A (zh) 一种异常提示方法及移动终端
CN111459362A (zh) 信息显示方法、信息显示装置、电子设备及存储介质
CN108009031B (zh) 一种应用程序的控制方法及移动终端
CN110069407B (zh) 一种应用程序的功能测试方法和装置
CN111309390A (zh) 一种获取配置信息的方法及电子设备
CN111131607A (zh) 一种信息共享方法、电子设备及计算机可读存储介质
CN108089935B (zh) 一种应用程序的管理方法及移动终端
CN108388400B (zh) 一种操作处理方法及移动终端
CN107832191B (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN107872367B (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN111443847B (zh) 一种推送消息处理方法及电子设备
CN110647506B (zh) 一种图片删除方法及终端设备
CN110225040B (zh) 一种信息处理方法和终端设备
CN112596980A (zh) ios性能收集方法及装置、移动终端、计算机可读存储介质
CN109660657B (zh) 一种应用程序控制方法及装置
CN108170360B (zh) 一种手势功能的控制方法及移动终端
CN108459796B (zh) 一种功能键的响应方法及移动终端
CN111049701A (zh) 一种数据流量监控方法及电子设备
CN110928616A (zh) 快捷图标管理方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 306, No. 799, Ximen Road, Chengqiao Town, Chongming District, Shanghai 202150

Applicant after: SHANGHAI I2FINANCE SOFTWARE CO.,LTD.

Address before: Room 2076, area C, building 8, No.2, Guanshan Road, Chengqiao Town, Chongming District, Shanghai 202150

Applicant before: SHANGHAI I2FINANCE SOFTWARE CO.,LTD.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210402