CN107861830A - 应用程序崩溃的检测方法、装置、存储介质及移动终端 - Google Patents
应用程序崩溃的检测方法、装置、存储介质及移动终端 Download PDFInfo
- Publication number
- CN107861830A CN107861830A CN201711248476.7A CN201711248476A CN107861830A CN 107861830 A CN107861830 A CN 107861830A CN 201711248476 A CN201711248476 A CN 201711248476A CN 107861830 A CN107861830 A CN 107861830A
- Authority
- CN
- China
- Prior art keywords
- collapse
- application program
- level
- collapsed
- startup
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0742—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种应用程序崩溃的检测方法、装置、存储介质及移动终端。该方法包括:当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。通过采用本发明实施例所提供的技术方案,可以有效解决应用程序的崩溃类型无法确定的问题。
Description
技术领域
本发明实施例涉及应用程序检测及修复技术领域,尤其涉及一种应用程序崩溃的检测方法、装置、存储介质及移动终端。
背景技术
目前App(应用程序,Application)启动后,会由于各种原因导致崩溃。用户的常规做法通常是重新启动APP。但是,由于崩溃后无法区分崩溃类型,所以也无法进行相应的修复,导致用户连续重启App时仍然会遇到崩溃问题,严重影响用户的使用体验,需要改进。
发明内容
本发明实施例提供一种崩溃的检测方法、修复方法、装置、存储介质及移动终端,可以有效解决应用程序的崩溃类型无法确定的问题。
第一方面,本发明实施例提供了一种应用程序崩溃的检测方法,该方法包括:
当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;
根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。
进一步的,根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃包括:
从本次崩溃的属性参数中获取所述应用程序发生崩溃的崩溃时间;
判断所述应用程序的崩溃时间与所述应用程序的启动时间差值是否小于设定时长;
若是,则确定所述应用程序的崩溃类型为启动崩溃。
进一步的,在判断所述应用程序的崩溃时间与所述应用程序的启动时间差值是否小于设定时长之后,还包括:
若否,则确定所述应用程序的崩溃类型为运行崩溃。
进一步的,根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃之后,还包括:
在确定发生启动崩溃时,记录启动崩溃的发生次数;
在确定发生运行崩溃时,将所述启动崩溃的次数记录清零。
进一步的,在根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃之后,还包括:
当判断所述应用程序的启动崩溃次数符合预设条件时,对所述应用程序进行自动修复。
进一步的,所述当判断所述应用程序的启动崩溃次数符合预设条件时,对所述应用程序进行自动修复,包括:
根据所述应用程序的启动崩溃次数,确定对所述应用程序进行自动修复的修复级别;
根据所述修复级别,对所述应用程序的缓存数据进行清除操作,实现自动修复。
进一步的,在根据所述修复级别,对所述应用程序的缓存数据进行清除操作,实现自动修复之前,还包括:
对所述应用程序的缓存数据进行分级,得到缓存数据的缓存级别;
确定对所述应用程序进行自动修复的修复级别与所述缓存级别的对应关系;
相应的,根据所述修复级别,对所述应用程序的缓存数据进行清除操作,实现自动修复,包括:
根据所述修复级别,对所述应用程序对应的缓存级别的缓存数据进行清除操作,实现自动修复。
进一步的,
所述修复级别包括一级自动修复、二级自动修复以及三级自动修复;
所述缓存数据的缓存级别包括一级缓存、二级缓存以及三级缓存;其中,三级缓存包括本地数据库中的缓存数据,二级缓存包括临时目录中的缓存数据,一级缓存包括Document目录中的缓存数据;
相应的,根据所述应用程序的启动崩溃次数,确定对所述应用程序进行自动修复的修复级别包括:
当所述应用程序的启动崩溃次数为3次时,执行三级自动修复,清除所述三级缓存数据;
当所述应用程序的启动崩溃次数为4次时,执行二级自动修复,清除所述二级缓存数据;
当所述应用程序的启动崩溃次数为5次时,执行一级自动修复,清除所述一级缓存数据。
进一步的,所述方法还包括:
在实现自动修复后,重新启动所述应用程序;
当所述应用程序的启动崩溃次数超过5次时,则确定所述应用程序无法运行。
第二方面,本发明实施例还提供了一种应用程序崩溃的检测装置,该装置包括:
崩溃属性参数获取模块,用于当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;
崩溃类型确定模块,用于根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。
进一步的,所述崩溃类型确定模块用于:
从本次崩溃的属性参数中获取所述应用程序发生崩溃的崩溃时间;
判断所述应用程序的崩溃时间与所述应用程序的启动时间差值是否小于设定时长;
若是,则确定所述应用程序的崩溃类型为启动崩溃。
进一步的,所述崩溃类型确定模块还用于:
若否,则确定所述应用程序的崩溃类型为运行崩溃。
进一步的,所述装置还包括:
启动崩溃次数控制模块,用于:
在确定发生启动崩溃时,记录启动崩溃的发生次数;
在确定发生运行崩溃时,将所述启动崩溃的次数记录清零。
进一步的,所述装置还包括:
自动修复模块,用于:
当判断所述应用程序的启动崩溃次数符合预设条件时,对所述应用程序进行自动修复。
进一步的,所述自动修复模块,具体用于:
根据所述应用程序的启动崩溃次数,确定对所述应用程序进行自动修复的修复级别;
根据所述修复级别,对所述应用程序的缓存数据进行清除操作,实现自动修复。
进一步的,所述装置还包括:
关系对应模块,用于:
对所述应用程序的缓存数据进行分级,得到缓存数据的缓存级别;
确定对所述应用程序进行自动修复的修复级别与所述缓存级别的对应关系;
相应的,所述自动修复模块,具体用于:
根据所述修复级别,对所述应用程序对应的缓存级别的缓存数据进行清除操作,实现自动修复。
进一步的,
所述修复级别包括一级自动修复、二级自动修复以及三级自动修复;
所述缓存数据的缓存级别包括一级缓存、二级缓存以及三级缓存;其中,三级缓存包括本地数据库中的缓存数据,二级缓存包括临时目录中的缓存数据,一级缓存包括Document目录中的缓存数据;
相应的,所述自动修复模块,具体用于:
当所述应用程序的启动崩溃次数为3次时,执行三级自动修复,清除所述三级缓存数据;
当所述应用程序的启动崩溃次数为4次时,执行二级自动修复,清除所述二级缓存数据;
当所述应用程序的启动崩溃次数为5次时,执行一级自动修复,清除所述一级缓存数据。
进一步的,所述装置还用于:
在实现自动修复后,重新启动所述应用程序;
当所述应用程序的启动崩溃次数超过5次时,则确定所述应用程序无法运行。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所述的应用程序崩溃的检测方法。
第四方面,本发明实施例提供了一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例所述的应用程序崩溃的检测方法。
本发明实施例所提供的技术方案,通过当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;并根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。通过采用本发明所提供的技术方案,可以有效解决应用程序的崩溃类型无法确定的问题,并为针对应用程序的崩溃类型进行相应的修复提供数据基础。
附图说明
图1是本发明实施例一提供的应用程序崩溃的检测方法的流程图;
图2是本发明实施例二提供的应用程序崩溃的检测方法的流程图;
图3是本发明实施例三提供的应用程序崩溃的检测方法的流程图;
图4是本发明实施例四提供的应用程序崩溃的检测装置的结构示意图;
图5为本发明实施例六提供的一种移动终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的应用程序崩溃的检测方法的流程图,本实施例可适用移动终端的应用程序崩溃的情况,该方法可以由本发明实施例所提供的应用程序崩溃的检测装置来执行,该装置可以由软件和/或硬件的方式来实现,并可集成于移动终端中。
如图1所示,所述应用程序崩溃的检测方法包括:
S110、当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数。
其中,应用程序的运行发生崩溃可能是由多种原因造成的,如在应用程序启动过程中或者运行过程中,由于数据包的一些错误,导致应用程序的一些函数进入死循环就会导致该应用程序的运行发生崩溃。发生崩溃后,应用程序往往会直接退出运行状态,或者自动进入重新启动状态。但是对于某些程序的崩溃情况,即便应用程序进入重新启动状态,还是会在同样的问题上再次崩溃,这就极大程度上导致用户无法使用该应用程序并对移动终端的内存造成了一定的开销,同时还浪费了用户的时间。监听到应用程序运行发生崩溃,具体可以是监听到应用程序运行过程中或者启动过程中非正常情况的退出运行状态。
获取本次崩溃的属性参数,可以是获取应用程序本次崩溃的时间属性或者动作属性,时间属性可以是计算应用程序的崩溃时间和启动时间的时间间隔,动作属性可以是记录应用程序崩溃前,用户对应用程序所做的操作,如输入搜索内容时,点按某固定功能时,以及应用程序自身启动的方式和在某一步骤中调用的函数等。
S120、根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。
根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。其中,启动崩溃可以是指在应用程序启动过程中,或者运行至没有达到完全启动时发生的崩溃,运行崩溃可以是指应用程序已经运行一段时间或者运行到某一个阶段发生的崩溃事件。导致两种崩溃类型的原因可能是不同的,所以针对两种不同的类型确定选择何种修复操作,或者诊断操作,确定应用程序是否能够正常运行,如果不能够正常运行则可以选择重新安装的方式来为用户提供服务。
在本发明实施例中,可选的,根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃包括:从本次崩溃的属性参数中获取所述应用程序发生崩溃的崩溃时间;判断所述应用程序的崩溃时间与所述应用程序的启动时间差值是否小于设定时长;若是,则确定所述应用程序的崩溃类型为启动崩溃。
可以在检测到应用程序启动时,在应用程序的记录日志中记录启动时间,并从本次崩溃的属性参数中获取所述应用程序发生崩溃的崩溃时间。其中,应用程序的本次崩溃的属性参数可以包括应用程序已经崩溃的次数,如当启动购物应用程序时,当发生崩溃时,记录崩溃时间,并记录该应用程序的历史启动崩溃的次数。从而判断所述应用程序的崩溃时间与所述应用程序的启动时间差值是否小于设定时长,其中设定时长可以是10秒,还可以更短或者更长,具体的,可以根据对应用程序的崩溃类型判断的敏感程度来确定,若对启动崩溃比较敏感,可以适当延长设定时长,如12秒或者15秒,若对运行崩溃比较敏感,则可以适当缩短设定时长,如8秒或者5秒。具体的,可以在应用程序启动后,开启时间记录功能,将时间记录功能的总时长设定为设定时长,以10秒为例,在时间记录功能在10秒内,没有监听到该应用程序的崩溃事件发生时,之后的应用程序的崩溃均视为运行崩溃,如果在10秒内监听到崩溃事件发生时,则确定本次崩溃为启动崩溃,并在应用程序历史启动崩溃次数上加1。
在本发明实施例中,可选的,在判断所述应用程序的崩溃时间与所述应用程序的启动时间差值是否小于设定时长之后,还包括:若否,则确定所述应用程序的崩溃类型为运行崩溃。
本发明实施例所提供的技术方案,通过当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;并根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。通过采用本发明所提供的技术方案,可以有效解决应用程序的崩溃类型无法确定的问题,并为针对应用程序的崩溃类型进行相应的修复提供数据基础。
实施例二
图2是本发明实施例二提供的应用程序崩溃的检测方法的流程图。本实施例在上述实施例的基础上,进行了进一步的优化。
如图2所示,所述应用程序崩溃的检测方法包括:
S210、当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数。
S220、根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃;并执行S230或执行S240。
S230、在确定发生启动崩溃时,记录启动崩溃的发生次数。
具体的,可以读取本地记录启动崩溃次数的日志或者文件,在已有的启动崩溃发生次数上加1,作为新的启动崩溃次数,并进行存储。这样设置的好处是可以对于启动崩溃进行累加操作,能够在确定为启动崩溃固定次数时再做相应的修复或者检查处理,提高启动崩溃的确定方式的准确性,避免误检。
S240、在确定发生运行崩溃时,将所述启动崩溃的次数记录清零。
当确定为运行崩溃时,将所述启动崩溃的次数记录清零,具体的,可以将记录启动崩溃次数的日志或者文件中的次数清零。这样设置的好处是可以对于启动崩溃进行累加操作,在累加没有达到一定数目的情况下,只要中间发生了运行崩溃,则对累加次数清零,针对运行崩溃的方式进行修复。
这样设置的原因是应用程序的启动崩溃,往往是本地缓存的数据包中存在着数据错误导致的。如果在应用程序连续几次启动崩溃则可以确定为应用程序的本地数据存在问题,如果其中能够正常运行,而在运行过程中发生运行崩溃,则可以说明该崩溃不是本地缓存的数据造成的,也就是说本地的缓存数据是不存在问题的,没必要继续累加次数,进而进行修复或者检查。
在本发明实施例中,可选的,在根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃之后,还包括:当判断所述应用程序的启动崩溃次数符合预设条件时,对所述应用程序进行自动修复。这样设置的好处是可以避免误检,通过次数的限制降低误判的几率。
本实施例在上述实施例的基础上,提供了一种对启动崩溃次数进行处理的具体方法,这样设置的好处是可以在确定为启动崩溃固定次数后进行修复或者其他操作,避免形成误检。
实施例三
图3是本发明实施例三提供的应用程序崩溃的检测方法的流程图。本实施例在上述各实施例的基础上,进行了进一步的优化。
如图3所示,所述应用程序崩溃的检测方法包括:
S310、当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数。
S320、根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃;并执行S330或执行S340。
S330、在确定发生启动崩溃时,记录启动崩溃的发生次数;并执行S350。
S340、在确定发生运行崩溃时,将所述启动崩溃的次数记录清零。
S350、根据所述应用程序的启动崩溃次数,确定对所述应用程序进行自动修复的修复级别。
其中,自动修复的修复级别可以是根据应用程序启动崩溃的程度来确定的,当应用程序多次启动崩溃时,则表明该应用程序的启动崩溃程度较高,需要进行较高级别的修复工作,当该应用程序启动崩溃次数较多时,说明对应启动次数较少时候的修复没有达到效果,依然遇到了启动崩溃事件,则需要更高一级别的修复工作才可以。本实施例这样设置的好处是可以设置不同界别的修复工作,对应于不同程度的启动崩溃的状况,能够更好的提高启动崩溃的修复效率和适用范围。
S360、根据所述修复级别,对所述应用程序的缓存数据进行清除操作,实现自动修复。
具体的,自动修复可以是对于缓存数据进行清除操作。相应的,可以在上一步骤中确定修复级别之后,可以根据修复级别,相应的对缓存数据进行清除操作。如可以根据修复级别的不同,对存储在不同目录下的缓存数据进行修复。
在上述各技术方案的基础上,可选的,所述修复级别包括一级自动修复、二级自动修复以及三级自动修复;所述缓存数据的缓存级别包括一级缓存、二级缓存以及三级缓存;其中,三级缓存包括本地数据库中的缓存数据,二级缓存包括临时目录中的缓存数据,一级缓存包括Document目录中的缓存数据。
相应的,根据所述应用程序的启动崩溃次数,确定对所述应用程序进行自动修复的修复级别包括:当所述应用程序的启动崩溃次数为3次时,执行三级自动修复,清除所述三级缓存数据;当所述应用程序的启动崩溃次数为4次时,执行二级自动修复,清除所述二级缓存数据;当所述应用程序的启动崩溃次数为5次时,执行一级自动修复,清除所述一级缓存数据。
其中,三级缓存包括本地数据库中的缓存数据,例如可以是放在DB(数据库文件)中存储的业务数据;二级缓存包括临时目录中的缓存数据,例如,可以是保存在Cache和Temp目录中的数据以及Webview(网络视图)缓存;一级缓存包括Document目录中的缓存数据,其中,清除以及缓存之后,应用程序相当于被重新安装,这种情况下往往能够修复因为缓存数据而导致的启动崩溃,如果启动崩溃仍然没有被修复成功,应用程序仍然不能够正常运行,则可以通过显示窗口显示该应用程序需要重新安装等提示信息。
相应的,可以根据启动崩溃的次数对应每一级别的修复,针对相应级别的缓存数据进行清除。这样设置的好处在于可以根据应用程序启动崩溃的次数进行相应级别的自动修复,实现了能够针对不同的启动崩溃情况进行不同的自动修复的效果,提高了修复效率,同时也可以避免缓存数据被不必要的清除,为用户的使用提供便利。
本实施例在上述各实施例的基础上,提供了一种根据应用程序启动崩溃次数进行自动修复的具体方案,提高了应用程序的启动崩溃的自动修复的效率以及适用范围,同时最大限度的保护了应用程序的缓存数据,为用户的使用提供了便利。
在上述各实施例的基础上,可选的,所述应用程序崩溃的检测方法还包括:在实现自动修复后,重新启动所述应用程序;当所述应用程序的启动崩溃次数超过5次时,则确定所述应用程序无法运行。其中,可以当前对应级别缓存数据清除后,重新尝试进入应用程序主流程,如果应用程序不再发生崩溃则表示自动修复成功,如果再次启动崩溃下次启动会重新进入自动修复流程,当应用程序的启动崩溃次数超过5次时,则确定为该应用程序无法运行,需要重新安装才能够正常使用。这样设置的好处是可以提高应用程序的修复效率,并在重新进入应用程序主流程后对于本次自动修复进行检查,如果修复成功,则应用程序可以正常运行,如果修复不成功,则再进行修复,避免用户在应用程序每次启动崩溃后重新启动该应用程序,提高用户的使用体验。
实施例四
图4是本发明实施例四提供的应用程序崩溃的检测装置的结构示意图。如图4所示,所述应用程序崩溃的检测装置,包括:
崩溃属性参数获取模块410,用于当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;
崩溃类型确定模块420,用于根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。
在上述各实施例的基础上,可选的,所述崩溃类型确定模块420用于:
从本次崩溃的属性参数中获取所述应用程序发生崩溃的崩溃时间;
判断所述应用程序的崩溃时间与所述应用程序的启动时间差值是否小于设定时长;
若是,则确定所述应用程序的崩溃类型为启动崩溃。
在上述各实施例的基础上,可选的,所述崩溃类型确定模块420还用于:
若否,则确定所述应用程序的崩溃类型为运行崩溃。
在上述各实施例的基础上,可选的,所述装置还包括:
启动崩溃次数控制模块,用于:
在确定发生启动崩溃时,记录启动崩溃的发生次数;
在确定发生运行崩溃时,将所述启动崩溃的次数记录清零。
在上述各实施例的基础上,可选的,所述装置还包括:
自动修复模块,用于:
当判断所述应用程序的启动崩溃次数符合预设条件时,对所述应用程序进行自动修复。
在上述各实施例的基础上,可选的,所述自动修复模块,具体用于:
根据所述应用程序的启动崩溃次数,确定对所述应用程序进行自动修复的修复级别;
根据所述修复级别,对所述应用程序的缓存数据进行清除操作,实现自动修复。
在上述各实施例的基础上,可选的,所述装置还包括:
关系对应模块,用于:
对所述应用程序的缓存数据进行分级,得到缓存数据的缓存级别;
确定对所述应用程序进行自动修复的修复级别与所述缓存级别的对应关系;
相应的,所述自动修复模块,具体用于:
根据所述修复级别,对所述应用程序对应的缓存级别的缓存数据进行清除操作,实现自动修复。
在上述各实施例的基础上,可选的,
所述修复级别包括一级自动修复、二级自动修复以及三级自动修复;
所述缓存数据的缓存级别包括一级缓存、二级缓存以及三级缓存;其中,三级缓存包括本地数据库中的缓存数据,二级缓存包括临时目录中的缓存数据,一级缓存包括Document目录中的缓存数据;
相应的,所述自动修复模块,具体用于:
当所述应用程序的启动崩溃次数为3次时,执行三级自动修复,清除所述三级缓存数据;
当所述应用程序的启动崩溃次数为4次时,执行二级自动修复,清除所述二级缓存数据;
当所述应用程序的启动崩溃次数为5次时,执行一级自动修复,清除所述一级缓存数据。
在上述各实施例的基础上,可选的,所述装置还用于:
在实现自动修复后,重新启动所述应用程序;
当所述应用程序的启动崩溃次数超过5次时,则确定所述应用程序无法运行。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例五
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用程序崩溃的检测方法,该方法包括:
当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;
根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机***存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机***中,或者可以位于不同的第二计算机***中,第二计算机***通过网络(诸如因特网)连接到计算机***。第二计算机***可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机***中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序崩溃的检测的操作,还可以执行本发明任意实施例所提供的应用程序崩溃的检测方法中的相关操作。
实施例六
本发明实施例提供了一种移动终端,该移动终端中可集成本发明实施例提供的应用程序崩溃的检测装置。图5为本发明实施例六提供的一种移动终端的结构示意图。如图5所示,该移动终端可以包括:存储器501、中央处理器(Central Processing Unit,CPU)502(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU502和所述存储器501设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器501,用于存储可执行程序代码;所述CPU502通过读取所述存储器501中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;
根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。
所述移动终端还包括:外设接口503、RF(Radio Frequency,射频)电路505、音频电路506、扬声器511、电源管理芯片508、输入/输出(I/O)子***509、触摸屏512、其他输入/控制设备510以及外部端口504,这些部件通过一个或多个通信总线或信号线507来通信。
应该理解的是,图示移动终端500仅仅是移动终端的一个范例,并且移动终端500可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于应用程序崩溃检测的移动终端进行详细的描述,该移动终端以手机为例。
存储器501,所述存储器501可以被CPU502、外设接口503等访问,所述存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口503,所述外设接口503可以将设备的输入和输出外设连接到CPU502和存储器501。
I/O子***509,所述I/O子***509可以将设备上的输入输出外设,例如触摸屏512和其他输入/控制设备510,连接到外设接口503。I/O子***509可以包括显示控制器5091和用于控制其他输入/控制设备510的一个或多个输入控制器5092。其中,一个或多个输入控制器5092从其他输入/控制设备510接收电信号或者向其他输入/控制设备510发送电信号,其他输入/控制设备510可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器5092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏512,所述触摸屏512是用户移动终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子***509中的显示控制器5091从触摸屏512接收电信号或者向触摸屏512发送电信号。触摸屏512检测触摸屏上的接触,显示控制器5091将检测到的接触转换为与显示在触摸屏512上的用户界面对象的交互,即实现人机交互,显示在触摸屏512上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路505,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路505接收并发送RF信号,RF信号也称为电磁信号,RF电路505将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路505可以包括用于执行这些功能的已知电路,其包括但不限于天线***、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路506,主要用于从外设接口503接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器511。
扬声器511,用于将手机通过RF电路505从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片508,用于为CPU502、I/O子***及外设接口所连接的硬件进行供电及电源管理。
本发明实施例提供的移动终端,可以有效解决应用程序的崩溃类型无法确定的问题。
上述实施例中提供的应用程序崩溃的检测装置、存储介质及移动终端可执行本发明任意实施例所提供的应用程序崩溃的检测方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的应用程序崩溃的检测方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种应用程序崩溃的检测方法,其特征在于,包括:
当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;
根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。
2.根据权利要求1所述的方法,其特征在于,根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃包括:
从本次崩溃的属性参数中获取所述应用程序发生崩溃的崩溃时间;
判断所述应用程序的崩溃时间与所述应用程序的启动时间差值是否小于设定时长;
若是,则确定所述应用程序的崩溃类型为启动崩溃。
3.根据权利要求2所述的方法,其特征在于,在判断所述应用程序的崩溃时间与所述应用程序的启动时间差值是否小于设定时长之后,还包括:
若否,则确定所述应用程序的崩溃类型为运行崩溃。
4.根据权利要求1所述的方法,其特征在于,根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃之后,还包括:
在确定发生启动崩溃时,记录启动崩溃的发生次数;
在确定发生运行崩溃时,将所述启动崩溃的次数记录清零。
5.根据权利要求4所述的方法,其特征在于,在根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃之后,还包括:
当判断所述应用程序的启动崩溃次数符合预设条件时,对所述应用程序进行自动修复。
6.根据权利要求5所述的方法,其特征在于,所述当判断所述应用程序的启动崩溃次数符合预设条件时,对所述应用程序进行自动修复,包括:
根据所述应用程序的启动崩溃次数,确定对所述应用程序进行自动修复的修复级别;
根据所述修复级别,对所述应用程序的缓存数据进行清除操作,实现自动修复。
7.根据权利要求6所述的方法,其特征在于,在根据所述修复级别,对所述应用程序的缓存数据进行清除操作,实现自动修复之前,还包括:
对所述应用程序的缓存数据进行分级,得到缓存数据的缓存级别;
确定对所述应用程序进行自动修复的修复级别与所述缓存级别的对应关系;
相应的,根据所述修复级别,对所述应用程序的缓存数据进行清除操作,实现自动修复,包括:
根据所述修复级别,对所述应用程序对应的缓存级别的缓存数据进行清除操作,实现自动修复。
8.根据权利要求7所述的方法,其特征在于,
所述修复级别包括一级自动修复、二级自动修复以及三级自动修复;
所述缓存数据的缓存级别包括一级缓存、二级缓存以及三级缓存;其中,三级缓存包括本地数据库中的缓存数据,二级缓存包括临时目录中的缓存数据,一级缓存包括Document目录中的缓存数据;
相应的,根据所述应用程序的启动崩溃次数,确定对所述应用程序进行自动修复的修复级别包括:
当所述应用程序的启动崩溃次数为3次时,执行三级自动修复,清除所述三级缓存数据;
当所述应用程序的启动崩溃次数为4次时,执行二级自动修复,清除所述二级缓存数据;
当所述应用程序的启动崩溃次数为5次时,执行一级自动修复,清除所述一级缓存数据。
9.根据权利要求8所述的方法,其特征在于,还包括:
在实现自动修复后,重新启动所述应用程序;
当所述应用程序的启动崩溃次数超过5次时,则确定所述应用程序无法运行。
10.一种应用程序崩溃的检测装置,其特征在于,包括:
崩溃属性参数获取模块,用于当监听到应用程序运行发生崩溃时,获取本次崩溃的属性参数;
崩溃类型确定模块,用于根据所述属性参数识别确定本次崩溃的崩溃类型为启动崩溃或运行崩溃。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的方法。
12.一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711248476.7A CN107861830A (zh) | 2017-12-01 | 2017-12-01 | 应用程序崩溃的检测方法、装置、存储介质及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711248476.7A CN107861830A (zh) | 2017-12-01 | 2017-12-01 | 应用程序崩溃的检测方法、装置、存储介质及移动终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107861830A true CN107861830A (zh) | 2018-03-30 |
Family
ID=61704530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711248476.7A Pending CN107861830A (zh) | 2017-12-01 | 2017-12-01 | 应用程序崩溃的检测方法、装置、存储介质及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861830A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762960A (zh) * | 2018-05-14 | 2018-11-06 | 国网福建省电力有限公司 | 一种移动应用监测*** |
CN109032828A (zh) * | 2018-07-20 | 2018-12-18 | 网宿科技股份有限公司 | 应用异常处理方法及终端 |
CN109240881A (zh) * | 2018-08-29 | 2019-01-18 | 努比亚技术有限公司 | 一种应用程序闪退处理方法、设备及计算机可读存储介质 |
CN109669798A (zh) * | 2018-12-25 | 2019-04-23 | 北京金山安全软件有限公司 | 崩溃分析方法、装置、电子设备,及存储介质 |
CN109739672A (zh) * | 2018-11-23 | 2019-05-10 | 惠州Tcl移动通信有限公司 | 应用程序崩溃的处理方法、计算机存储介质及移动终端 |
CN109918219A (zh) * | 2019-01-28 | 2019-06-21 | 努比亚技术有限公司 | 应用崩溃修复提醒方法、终端及计算机可读存储介质 |
CN110188001A (zh) * | 2019-05-27 | 2019-08-30 | 维沃移动通信有限公司 | 应用程序启动方法、应用程序提示方法及终端 |
CN110262838A (zh) * | 2019-06-14 | 2019-09-20 | 深圳乐信软件技术有限公司 | 一种程序崩溃的处理方法、装置、终端及存储介质 |
CN110413450A (zh) * | 2019-07-22 | 2019-11-05 | 河南翔宇医疗设备股份有限公司 | 一种处理应用程序崩溃的方法、装置及设备 |
CN110442468A (zh) * | 2019-07-18 | 2019-11-12 | 北京奇艺世纪科技有限公司 | 崩溃诊断信息收集方法、***及电子设备 |
CN110569182A (zh) * | 2019-09-19 | 2019-12-13 | 北京博睿宏远数据科技股份有限公司 | 一种崩溃率计算方法、装置、计算机设备及存储介质 |
CN111367698A (zh) * | 2018-12-26 | 2020-07-03 | 北京微播视界科技有限公司 | 应用程序闪退的检测及处理方法、装置及电子设备 |
CN112866022A (zh) * | 2021-01-12 | 2021-05-28 | 北京小米移动软件有限公司 | 一种降低调制解调器***崩溃次数的方法、装置及介质 |
CN114064132A (zh) * | 2021-09-30 | 2022-02-18 | 中科创达软件股份有限公司 | 一种***宕机恢复方法、装置、设备和*** |
WO2022142595A1 (zh) * | 2020-12-29 | 2022-07-07 | 华为技术有限公司 | 程序检测方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006113722A (ja) * | 2004-10-13 | 2006-04-27 | Canon Inc | シャットダウン処理システム、その制御方法および記憶媒体 |
CN102681874A (zh) * | 2012-05-14 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 一种确保软件正常运行的方法及装置 |
CN104778091A (zh) * | 2015-04-03 | 2015-07-15 | 北京奇虎科技有限公司 | 应用程序的运行方法及装置 |
US20160026546A1 (en) * | 2014-07-24 | 2016-01-28 | Intel Corporation | Hardware-assisted application checkpointing and restoring |
CN106293335A (zh) * | 2016-07-29 | 2017-01-04 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序分级管理方法及*** |
CN106649114A (zh) * | 2016-12-23 | 2017-05-10 | 北京奇虎科技有限公司 | 对应用程序崩溃进行定位的方法和装置 |
CN107038085A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种客户端应用的修复方法、装置及*** |
-
2017
- 2017-12-01 CN CN201711248476.7A patent/CN107861830A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006113722A (ja) * | 2004-10-13 | 2006-04-27 | Canon Inc | シャットダウン処理システム、その制御方法および記憶媒体 |
CN102681874A (zh) * | 2012-05-14 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 一种确保软件正常运行的方法及装置 |
US20160026546A1 (en) * | 2014-07-24 | 2016-01-28 | Intel Corporation | Hardware-assisted application checkpointing and restoring |
CN104778091A (zh) * | 2015-04-03 | 2015-07-15 | 北京奇虎科技有限公司 | 应用程序的运行方法及装置 |
CN107038085A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种客户端应用的修复方法、装置及*** |
CN106293335A (zh) * | 2016-07-29 | 2017-01-04 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序分级管理方法及*** |
CN106649114A (zh) * | 2016-12-23 | 2017-05-10 | 北京奇虎科技有限公司 | 对应用程序崩溃进行定位的方法和装置 |
Non-Patent Citations (1)
Title |
---|
LOONGGG: "⼀键清理应⽤数据或者清除应⽤缓存的⽅法", 《HTTPS://MP.WEIXIN.QQ.COM/S/1QKC9ZUO7TNCSOCSAXCP6Q》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762960B (zh) * | 2018-05-14 | 2021-07-06 | 国网福建省电力有限公司 | 一种移动应用监测*** |
CN108762960A (zh) * | 2018-05-14 | 2018-11-06 | 国网福建省电力有限公司 | 一种移动应用监测*** |
CN109032828A (zh) * | 2018-07-20 | 2018-12-18 | 网宿科技股份有限公司 | 应用异常处理方法及终端 |
CN109240881A (zh) * | 2018-08-29 | 2019-01-18 | 努比亚技术有限公司 | 一种应用程序闪退处理方法、设备及计算机可读存储介质 |
CN109739672A (zh) * | 2018-11-23 | 2019-05-10 | 惠州Tcl移动通信有限公司 | 应用程序崩溃的处理方法、计算机存储介质及移动终端 |
CN109669798A (zh) * | 2018-12-25 | 2019-04-23 | 北京金山安全软件有限公司 | 崩溃分析方法、装置、电子设备,及存储介质 |
CN109669798B (zh) * | 2018-12-25 | 2022-09-16 | 北京金山安全软件有限公司 | 崩溃分析方法、装置、电子设备,及存储介质 |
CN111367698A (zh) * | 2018-12-26 | 2020-07-03 | 北京微播视界科技有限公司 | 应用程序闪退的检测及处理方法、装置及电子设备 |
CN109918219A (zh) * | 2019-01-28 | 2019-06-21 | 努比亚技术有限公司 | 应用崩溃修复提醒方法、终端及计算机可读存储介质 |
CN110188001A (zh) * | 2019-05-27 | 2019-08-30 | 维沃移动通信有限公司 | 应用程序启动方法、应用程序提示方法及终端 |
CN110262838A (zh) * | 2019-06-14 | 2019-09-20 | 深圳乐信软件技术有限公司 | 一种程序崩溃的处理方法、装置、终端及存储介质 |
CN110442468A (zh) * | 2019-07-18 | 2019-11-12 | 北京奇艺世纪科技有限公司 | 崩溃诊断信息收集方法、***及电子设备 |
CN110413450A (zh) * | 2019-07-22 | 2019-11-05 | 河南翔宇医疗设备股份有限公司 | 一种处理应用程序崩溃的方法、装置及设备 |
CN110569182A (zh) * | 2019-09-19 | 2019-12-13 | 北京博睿宏远数据科技股份有限公司 | 一种崩溃率计算方法、装置、计算机设备及存储介质 |
CN110569182B (zh) * | 2019-09-19 | 2023-08-29 | 北京博睿宏远数据科技股份有限公司 | 一种崩溃率计算方法、装置、计算机设备及存储介质 |
WO2022142595A1 (zh) * | 2020-12-29 | 2022-07-07 | 华为技术有限公司 | 程序检测方法及装置 |
CN112866022A (zh) * | 2021-01-12 | 2021-05-28 | 北京小米移动软件有限公司 | 一种降低调制解调器***崩溃次数的方法、装置及介质 |
CN112866022B (zh) * | 2021-01-12 | 2023-06-02 | 北京小米移动软件有限公司 | 一种降低调制解调器***崩溃次数的方法、装置及介质 |
CN114064132A (zh) * | 2021-09-30 | 2022-02-18 | 中科创达软件股份有限公司 | 一种***宕机恢复方法、装置、设备和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861830A (zh) | 应用程序崩溃的检测方法、装置、存储介质及移动终端 | |
CN106528158B (zh) | 挂载存储卡的方法、装置及移动终端 | |
CN104796385A (zh) | 终端绑定方法、装置及*** | |
CN104951335A (zh) | 应用程序安装包的处理方法及装置 | |
CN108960839B (zh) | 一种支付方法及装置 | |
CN107844342A (zh) | 应用程序保活的管控方法、装置及存储介质和移动终端 | |
CN104636255A (zh) | 网页应用的显示效果测试方法及装置 | |
CN103455330A (zh) | 应用程序管理方法、终端、设备及*** | |
CN104182869A (zh) | 处理业务的方法、装置及*** | |
CN106775828A (zh) | 应用程序安装方法及装置、计算机设备 | |
CN109840418A (zh) | 应用程序的跳转控制方法、装置、存储介质及终端 | |
CN110968508B (zh) | 一种小程序的加载时间确定方法、装置、终端及存储介质 | |
CN107861738A (zh) | 应用异常处理方法、装置、存储介质及终端设备 | |
CN104618223A (zh) | 一种信息推荐的管理方法、装置和*** | |
CN107766177A (zh) | 开机优化方法、装置、存储介质及终端设备 | |
CN108093451A (zh) | 随机接入的控制方法、装置及存储介质和移动终端 | |
CN109445994A (zh) | 开机处理方法、装置、终端设备及存储介质 | |
CN107943270A (zh) | 应用服务的控制方法、装置及存储介质和移动终端 | |
CN105005489B (zh) | 一种终端设备的启动方法及终端设备 | |
CN107832224A (zh) | 一种应用程序的测试方法、装置、存储介质及智能终端 | |
CN103686791A (zh) | 终端用卡情况检测方法和装置 | |
CN109257652B (zh) | 配置信息的切换方法、装置、电子装置、***及存储介质 | |
CN107742076A (zh) | 禁止***提权的方法、装置、存储介质及终端设备 | |
CN103729283A (zh) | 一种***日志输出方法、装置及终端设备 | |
CN106843440B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180330 |
|
RJ01 | Rejection of invention patent application after publication |