本发明专利技术公开了一种应用程序未截获异常的处理方法及装置,所述应用程序未截获异常的处理包括以下步骤:应用出现未截获异常时,系统中截获应用程序未截获的异常信息,根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序。本发明专利技术降低了因应用程序运行出错而出现错误提示对话框给用户带来的繁琐操作,从而提高了用户的体验度。
【技术实现步骤摘要】
应用程序未截获异常的处理方法及装置
本专利技术涉及显示终端领域,特别涉及一种应用程序未截获异常的处理方法及装置。
技术介绍
众所周知,在Android内存溢出时,会抛出OOM(OutOfMemory,内存不足)异常,此异常在应用程序的代码中是不能截获的。此类未截获的异常发生时,系统会弹出一个错误提示对话框,此时用户需要关闭提示对话框并重新点击运行此应用程序,由于此种方式的操作繁琐,从而使得用户的体验度较差。
技术实现思路
本专利技术的主要目的在于提供一种应用程序未截获异常的处理方法,旨在降低因应用程序运行出错而出现错误提示对话框给用户带来的繁琐操作,以提高用户的体验度。为了实现专利技术目的,本专利技术提供一种应用程序未截获异常的处理方法,该应用程序未截获异常的处理方法包括以下步骤:A、当应用程序运行时,获取应用程序未截获的异常信息;B、根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序。优选地,在执行所述步骤B之前还包括:C、判断所述应用程序重启的次数是否大于预置值;若是则执行步骤D,否则执行步骤B;D、根据获取到的异常信息屏蔽应用程序产生的提示信息,并结束当前应用程序的启动。优选地,在执行所述步骤B之后还包括:E、清空重启所述应用程序前所述应用程序所占用的资源。优选地,在执行所述步骤B之前还包括:F、判断启动应用程序至获取到异常信息之间的时间差是否小于预置时间;若是则执行步骤G,否则执行步骤B;G、等待所述应用程序启动时间达到预置时间时,执行所述步骤B。优选地,所述步骤A之前包括:通过Android的commonInit机制配置异常处理程序,并在所述异常处理程序中,通过调用handleApplicationCrash函数进行应用程序异常处理。本专利技术还提供一种应用程序未截获异常的处理装置,该应用程序未截获异常的处理装置包括获取模块,用于当应用程序运行时,获取应用程序未截获的异常信息;处理模块,用于根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序。优选地,所述应用程序未截获异常的处理装置还包括:第一判断模块,用于判断所述应用程序重启的次数是否大于预置值;所述处理模块具体用于,当所述应用程序重启的次数大于预置值时,根据获取到的异常信息屏蔽应用程序产生的提示信息,并结束当前应用程序的启动;当所述应用程序重启的次数小于等于预置值时,执行所述根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序的操作。优选地,所述应用程序未截获异常的处理装置还包括:清空模块,用于清空重启所述应用程序前所述应用程序所占用的资源。优选地,所述应用程序未截获异常的处理装置还包括:第二判断模块,用于判断启动应用程序至获取到异常信息之间的时间差是否小于预置时间;所述处理模块具体用于,当所述时间差小于预置时间时,等待所述应用程序启动时间达到预置时间时,执行所述根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序的操作;当所述时间差大于等于预置时间时,直接执行所述根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序的操作。优选地,所述应用程序未截获异常的处理装置还包括未截获异常处理模块,用于通过Android的commonInit机制配置异常处理程序,并在所述异常处理程序中,通过调用handleApplicationCrash函数进行应用程序异常处理。本专利技术通过获取应用程序未截获的异常信息,并根据该异常信息屏蔽应用程序产生的提示信息,同时通过控制应用程序自动重启。因此降低了因应用程序运行出错而出现错误提示对话框给用户带来的繁琐操作,同时有效保证了应用程序启动过程中不存在间断,从而有效提高用户的体验度。附图说明图1为本专利技术应用程序未截获异常的处理方法第一实施例的流程示意图;图2为本专利技术应用程序未截获异常的处理方法第二实施例的流程示意图;图3为本专利技术应用程序未截获异常的处理方法第三实施例的流程示意图;图4为本专利技术应用程序未截获异常的处理方法第四实施例的流程示意图;图5为本专利技术应用程序未截获异常的处理装置一实施例的结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种应用程序未截获异常的处理方法。参照图1,图1为本专利技术应用程序未截获异常的处理方法第一实施例的流程示意图。本实施例提供的应用程序未截获异常的处理方法包括以下步骤:步骤S10,当应用程序运行时,获取应用程序未截获的异常信息;本实施例中,上述应用程序为安卓操作系统中的应用程序,Android平台在应用进程创建后,将为虚拟机设置一未截获异常处理模块。当用户点击相应的应用程序时,相应的应用程序将被运行,此时若存在应用程序未截获的异常信息时,应用进程将抛出应用程序未截获的异常信息至未截获异常处理模块。例如,当Android内存溢出时,应用进程将抛出OOM异常。值得说明的是,操作系统底层包括基本异常捕获的机制,本方案在于对操作系统的异常捕获机制进行完善。步骤S20,根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序。本实施例中,上述提示信息为应用程序因上述异常信息所产生的提示信息,例如,当Android内存溢出时,将通过对话框的形式提示用户当前运行的内存不足等提示信息。当上述未截获异常处理模块接收到上述异常信息后,将屏蔽应用程序产生的提示信息,并控制应用程序自动重启或做其他处理。在本实施例中,可通过修改Android底层源码,通过Android的commonInit机制配置异常处理程序,并设置在所述异常处理程序中处理应用程序异常。具体地,通过重写其应用程序异常处理程序,调用ActivityManagerService的handleApplicationCrash函数进行异常处理。从而实现在操作系统底层实现应用程序异常的捕捉与处理。本专利技术通过获取应用程序未截获的异常信息,并根据该异常信息屏蔽应用程序产生的提示信息,同时通过控制应用程序自动重启。因此降低了因应用程序运行出错而出现错误提示对话框给用户带来的繁琐与不友好,同时有效保证了应用程序启动过程中不存在间断,从而有效提高用户的体验度。参照图2,图2为本专利技术应用程序未截获异常的处理方法第二实施例的流程示意图。本实施例中,在执行上述步骤S20之前还包括:步骤S30,判断所述应用程序重启的次数是否大于预置值;若是则执行步骤S40,否则执行步骤S20;步骤S40,根据获取到的异常信息屏蔽应用程序产生的提示信息,并结束当前应用程序的启动。优选地,在该步骤还可以生成操作系统统一的异常提示信息,并提示用户,或者做其他处理。本实施例中,上述预置值的大小可根据实际需要进行设置,在此不作进一步的限定。以预置值是10为例,通过定义一数值变量,在应用程序每次重启时,该数值变量都加1,通过判断该数值大小是否大于10从而判定应用程序重启的次数是否大于10。当应用程序重启的次数小于等于10时,则将应控制用程序重启;当应用程序重启的次数大于10时,则退出当前应用程序的启动,返回至上一操作界面(即运行应用程序的前一操作界面,可以为上一应用程序界面,也可以为桌面)。本实施例中,通本文档来自技高网...
【技术保护点】
一种应用程序未截获异常的处理方法,其特征在于,包括以下步骤:A、当应用程序运行时,获取应用程序未截获的异常信息;B、根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序。
【技术特征摘要】
1.一种应用程序未截获异常的处理方法,其特征在于,包括以下步骤:通过Android的commonInit机制配置异常处理程序,并在所述异常处理程序中,通过调用handleApplicationCrash函数进行应用程序异常处理;A、当应用程序运行时,获取应用程序未截获的异常信息;C、判断所述应用程序重启的次数是否大于预置值;若是则执行步骤D,否则执行步骤B;D、根据获取到的异常信息屏蔽应用程序产生的提示信息,并结束当前应用程序的启动;B、根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序;或包括以下步骤:A、当应用程序运行时,获取应用程序未截获的异常信息;F、判断启动应用程序至获取到异常信息之间的时间差是否小于预置时间;若是则执行步骤G,否则执行步骤B;G、等待所述应用程序启动时间达到预置时间时,执行所述步骤B;B、根据获取到的异常信息屏蔽应用程序产生的提示信息,并重启所述应用程序。2.如权利要求1所述的应用程序未截获异常的处理方法,其特征在于,在执行所述步骤B之后还包括:E、清空重启所述应用程序前所述应用程序所占用的资源。3.一种应用程序未截获异常的处理装置,其特征在于,包括未截获异常处理模块,用于通过Android的commonInit机制配置异常处理程序,并...
【专利技术属性】
技术研发人员:罗朝江,
申请(专利权)人:深圳TCL新技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。