一种应用程序崩溃处理方法、装置及系统制造方法及图纸

技术编号:25755919 阅读:11 留言:0更新日期:2020-09-25 21:05
本公开关于一种应用程序崩溃处理方法、装置、电子设备以及存储介质,用以至少解决相关技术中当应用程序在运行过程中出现异常而发生应用崩溃,使得用户进度中断、数据丢失,进而导致用户使用体验极差的问题,方法包括:当监测到应用程序发生异常时,获取应用程序的堆栈信息;根据预先设置的异常白名单,对堆栈信息进行堆栈特征匹配,以判断应用程序当前所发生异常是否属于异常白名单,其中,异常白名单中保存有已确定的、对应用程序运行无影响的异常的堆栈特征;当判断结果为是时,按照预先修改后的崩溃处理逻辑对应用程序的异常进行处理,以使得应用程序继续正常运行;当判断结果为否时,按照应用程序的原始崩溃处理逻辑对异常进行处理。

【技术实现步骤摘要】
一种应用程序崩溃处理方法、装置及系统
本公开涉及计算机
,尤其涉及一种应用程序崩溃处理方法、装置、电子设备以及存储介质系统。
技术介绍
随着终端技术的飞速发展,各种应用了最新技术的智能终端被开发了出来,而为满足用户各式各样的使用需求,越来越多有关生活以及娱乐等方面的应用程序(application,APP)被开发出来,极大地方便了人们的日常工作与生活,这也使得智能终端以及安装在智能终端上的APP逐渐成为了人们日常工作生活不可获取的重要工具。而受限于应用程序开发人员的技术水准、测试深度以及与终端系统的适配性等原因,应用程序在智能终端上的运行稳定程度均有所不同,而对于大多数应用程序来说,或多或少均存在一些内部出错的潜在诱发因素,在现有技术中,当应用程序在运行过程中出现异常或者错误时,应用程序通常会被强制结束,即通常所说的应用崩溃或者说是应用闪退,这种应用崩溃(闪退)会导致用户正在运行的进度被中断、数据丢失,如果用户在使用APP的过程中频繁出现APP崩溃,会造成用户较大的烦躁情绪,极大地影响了用户的体验,且严重时可能会导致用户卸载该APP。由此可见,如何尽可能减少应用崩溃(闪退)现象的出现,保证应用稳定性,从而给用户带来更好的使用体验,成为现有技术亟待解决的技术问题。
技术实现思路
本公开提供一种应用程序崩溃处理方法、装置、电子设备以及存储介质,以至少解决相关技术中当应用程序在运行过程中出现异常而发生应用崩溃,使得用户进度中断、数据丢失,进而导致用户使用体验极差的问题。本公开的技术方案如下:当监测到应用程序发生异常时,获取所述应用程序的堆栈信息;根据预先设置的异常白名单,对所述堆栈信息进行堆栈特征匹配,以判断所述应用程序当前所发生异常是否属于所述异常白名单,其中,所述异常白名单中保存有已确定的、对应用程序运行无影响的异常的堆栈特征;当判断结果为是时,按照预先修改后的崩溃处理逻辑对所述应用程序的异常进行处理,以使得所述应用程序继续正常运行;当判断结果为否时,按照所述应用程序的原始崩溃处理逻辑对所述异常进行处理。根据本公开实施例的第二方面,提供一种应用程序崩溃处理装置,包括:信息获取单元,被配置为执行当监测到应用程序发生异常时,获取所述应用程序的堆栈信息;特征匹配单元,被配置为执行根据预先设置的异常白名单,对所述堆栈信息进行堆栈特征匹配,以判断所述应用程序当前所发生异常是否属于所述异常白名单,其中,所述异常白名单中保存有已确定的、对应用程序运行无影响的异常的堆栈特征;异常处理单元,被配置为执行当判断结果为是时,按照预先修改后的崩溃处理逻辑对所述应用程序的异常进行处理,以使得所述应用程序继续正常运行;异常处理单元,被配置为执行当判断结果为否时,按照所述应用程序的原始崩溃处理逻辑对所述异常进行处理。根据本公开实施例的第三方面,提供一种应用程序崩溃处理电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一权项所述的应用程序崩溃处理方法。根据本公开实施例的第四方面,提供一种存储介质,包括:当所述存储介质中的指令由应用程序崩溃处理电子设备的处理器执行时,使得所述应用程序崩溃处理电子设备能够执行上述第一方面中任一项应用程序崩溃处理方法步骤。根据本公开实施例的第五方面,提供一种计算机程序产品,包括:当其在设备上运行时,使得项目打包设备执行:上述第一方面中任一项应用程序崩溃处理方法步骤。本公开的实施例提供的技术方案至少带来以下有益效果:采用本公开实施例提供的应用程序崩溃处理方法,当监测到应用程序发生异常时,首先可以获取该应用程序的堆栈信息;进而根据预先设置的异常白名单,对堆栈信息进行堆栈特征匹配,以判断该应用程序当前所发生异常是否属于所述异常白名单,其中,所述异常白名单中保存有已确定的、对应用程序运行无影响的异常的堆栈特征;当判断结果为是时,应用程序将会按照预先修改后的崩溃处理逻辑对该异常进行处理,以使得该应用程序可以继续正常运行;而当判断结果为否时,则应用程序将会按照原始崩溃处理逻辑对该异常进行处理,即关闭该应用程序。通过堆栈特征匹配,可以识别出对应用程序运行无影响的异常,进而针对该类异常,应用程序可以通过预先修改后的崩溃处理逻辑进行修改,即不终止应用程序的继续运行。采用本公开实施例提供的方法,可以保证了当发生一些对程序运行无影响到异常时,应用程序不会出现崩溃或者闪退的现象,从而极大地降低了应用程序因为异常而出现崩溃的次数,相比相关技术,极大地改善了用户的使用体验。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。图1是根据一示例性实施例示出的一种应用程序崩溃处理方法的流程图;图2是根据一示例性实施例示出的一种应用程序崩溃处理装置的框图;图3是根据一示例性实施例示出的一种应用程序崩溃处理电子设备的框图。具体实施方式为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。以下结合附图,详细说明本公开的实施例所提供的技术方案。本公开的实施例提供了一种应用程序崩溃处理方法,用以至少解决相关技术中当应用程序在运行过程中出现异常而发生应用崩溃,使得用户进度中断、数据丢失,进而导致用户使用体验极差的问题。本公开的实施例提供的应用程序崩溃处理方法的执行主体,可以但不限于为手机、平板电脑、个人电脑(PersonalComputer,PC)、智能电视以及任何可以运行应用程序的终端设备中的至少一种。或者,该方法的执行主体也可以是安装在上述设备上的应用程序本身。为便于描述,下文以该方法的执行主体为视频APP为例,对本公开的实施例所提供的应用程序崩溃处理方法进行介绍。可以理解,该方法的执行主体为视频APP只是一种示例性的说明,并不应理解为对本公开实施例的限定。图1是根据一示例性实施例示出的一种应用程序崩溃处理方法的流程图,如图1所示,该应用程序崩溃处理方法用于视频APP中,包括以下步骤:在步骤S101中,当监测到应用程序发生异常时,获取所述应用程序的堆栈信息;应用程序在启动后,会在操作本文档来自技高网...

【技术保护点】
1.一种应用程序崩溃处理方法,其特征在于,包括:/n当监测到应用程序发生异常时,获取所述应用程序的堆栈信息;/n根据预先设置的异常筛选规则,对所述堆栈信息进行堆栈特征匹配,以判断所述应用程序当前所发生异常是否属于对应用程序运行无影响的异常;/n当判断结果为是时,按照预先修改后的崩溃处理逻辑对所述应用程序的异常进行处理,以使得所述应用程序继续正常运行;/n当判断结果为否时,按照所述应用程序的原始崩溃处理逻辑对所述异常进行处理。/n

【技术特征摘要】
1.一种应用程序崩溃处理方法,其特征在于,包括:
当监测到应用程序发生异常时,获取所述应用程序的堆栈信息;
根据预先设置的异常筛选规则,对所述堆栈信息进行堆栈特征匹配,以判断所述应用程序当前所发生异常是否属于对应用程序运行无影响的异常;
当判断结果为是时,按照预先修改后的崩溃处理逻辑对所述应用程序的异常进行处理,以使得所述应用程序继续正常运行;
当判断结果为否时,按照所述应用程序的原始崩溃处理逻辑对所述异常进行处理。


2.根据权利要求1所述的应用程序崩溃处理方法,其特征在于,所述应用程序发生的异常类型包括:第三方程序异常或本地程序异常;
则按照预先修改后的崩溃处理逻辑对所述应用程序的异常进行处理,具体包括:
确定所述异常对应的异常类型;
根据所述异常类型对应的预先修改后的崩溃处理逻辑,对所述应用程序的异常进行处理。


3.根据权利要求2所述的应用程序崩溃处理方法,其特征在于,当确定所述异常对应的异常类型为第三方程序异常时,根据所述异常类型对应的预先修改后的崩溃处理逻辑,对所述应用程序的异常进行处理,具体包括:
判断所述异常对应的线程是否为后台线程;
当判断结果为是时,则关闭所述异常对应的后台线程;
当判断结果为否时,则通过嵌套事件处理器的方式,对所述应用程序的异常进行处理。


4.根据权利要求3所述的应用程序崩溃处理方法,其特征在于,通过嵌套事件处理器的方式,对所述应用程序的异常进行处理,具体包括:
在所述应用程序的原始事件处理器内再嵌套一层内层事件处理器,并通过所述内层事件处理器进行事件处理;
当监测到应用程序发生异常时,所述内层事件处理器开始循环读取当前事件,直至判断所述异常属于对应用程序运行无影响的异常后,所述内层事件处理器开始读取下一个事件进行处理。


5.根据权利要求2所述的应用程序崩溃处理方法,其特征在于,当确定所述异常对应的异常类型为本地程序异常时,按照预先修改后的崩溃处理逻辑对所述应用程序的异常进行处理,...

【专利技术属性】
技术研发人员:薛秋实
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:北京;11

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

1