CN114253752A - 一种应用程序崩溃处理方法、装置、设备及介质 - Google Patents

一种应用程序崩溃处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN114253752A
CN114253752A CN202111362808.0A CN202111362808A CN114253752A CN 114253752 A CN114253752 A CN 114253752A CN 202111362808 A CN202111362808 A CN 202111362808A CN 114253752 A CN114253752 A CN 114253752A
Authority
CN
China
Prior art keywords
application
application program
crash
display module
crashes
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
CN202111362808.0A
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.)
Human Horizons Shanghai Internet Technology Co Ltd
Original Assignee
Human Horizons Shanghai Internet Technology 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 Human Horizons Shanghai Internet Technology Co Ltd filed Critical Human Horizons Shanghai Internet Technology Co Ltd
Priority to CN202111362808.0A priority Critical patent/CN114253752A/zh
Publication of CN114253752A publication Critical patent/CN114253752A/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0715Error 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 a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0718Error 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 an object-oriented system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种应用程序崩溃处理方法、装置、设备及介质,所述方法通过在应用程序出现由系统异常导致的崩溃时,在虚拟屏中重建复归该应用程序后再关闭崩溃的应用程序,并将重新复归的应用程序移回主屏,相比于现有的应用程序崩溃后关闭崩溃的应用进程再重建复归应用的方法,本发明能有效减少应用恢复的时间,从而提高了用户的使用体验感。

Description

一种应用程序崩溃处理方法、装置、设备及介质
技术领域
本发明涉及电子设备技术领域,尤其涉及一种应用程序崩溃处理方法、装置、电子设备及计算机可读存储介质。
背景技术
目前,电子设备产品中,用户安装的应用的数量越来越多,应用的来源也是各不相同,这些应用的稳定程度也不一样,其中应用崩溃(crash)是对用户体验影响很大的问题。
当应用程序发生崩溃时,系统会强制杀死应用进程。如图1所示,当应用发生崩溃时,系统会杀掉应用进程,并根据上一画面的情况决定回退的画面。具体的,当上一画面为系统主页时,则回退到主页;当上一画面为其他应用时,则回退到其他应用,当上一画面为崩溃的应用页面时,则需重建该崩溃的应用,并通过用户的点击操作回到应用崩溃时的界面。可知,当应用崩溃时,若用户想应用恢复到崩溃时的界面,需要重新启动应用,并重新操作应用以恢复到崩溃时的界面。
上述方法中,应用崩溃后,需要杀死该崩溃的应用进程再重建应用,用户等待应用恢复的时间较长,用户的使用体验感不好。
发明内容
本发明提供一种应用程序崩溃处理方法、装置、电子设备及计算机可读存储介质,其能在应用发生崩溃后,减少应用恢复的时长,从而提高用户的使用体验感。
本发明第一方面提供的应用程序崩溃处理方法,由电子设备执行,所述电子设备部署有主屏和虚拟屏,包括:
当应用程序出现由系统异常导致的崩溃时,根据崩溃时应用程序的历史运行数据在虚拟屏中预先重建复归所述应用程序;
在所述应用程序重新复归完成后,关闭崩溃的应用程序,并将重新复归的应用程序移回主屏;
当所述应用程序出现由非系统异常导致的崩溃时,卸载所述应用程序中发生异常的功能模块,并重新加载所述功能模块。
作为上述方案的改进,所述方法还包括:
当所述应用程序出现由非系统异常导致的崩溃时,卸载所述应用程序中发生异常的功能模块,并重新加载所述功能模块。作为上述方案的改进,在根据崩溃时应用程序的历史数据在虚拟屏中预先重建复归所述应用程序之前,还包括:
锁定崩溃时主屏的当前画面;
则,在所述将重新复归的应用程序移回主屏之后,还包括:
解除对主屏的锁定操作。
作为上述方案的改进,所述历史运行数据包括所述应用程序发生崩溃时的页面栈数据和所述应用程序从启动到发生崩溃时的所有运行状态数据。
作为上述方案的改进,所述将重新复归的应用程序移回主屏,具体包括:
将重新复归的应用程序的显示接口切换为主屏的接口,以将重新复归的应用程序移回主屏。
作为上述方案的改进,所述当所述应用程序出现由非系统异常导致的崩溃时,卸载所述应用程序中发生异常的功能模块,并重新加载所述功能模块,具体包括:
当所述功能模块为显示模块时,锁定崩溃时主屏的当前画面,并保存所述应用程序崩溃时的页面栈数据和显示模块的历史运行数据;
卸载所述显示模块,根据所述显示模块的历史运行数据,重新加载所述显示模块;
根据所述页面栈数据,将所述应用程序恢复到崩溃时的页面;
解除对主屏的锁定操作;
当所述功能模块为非显示模块时,保存所述非显示模块的历史运行数据;
卸载所述非显示模块,根据所述非显示模块的历史运行数据,重新加载所述非显示模块。
作为上述方案的改进,所述当检测到应用程序发生崩溃时,通过异常处理器捕捉所述应用程序崩溃的异常类型,具体包括:
当所述应用程序发生崩溃时,通过异常处理器捕捉异常信息;
对所述异常信息进行解析,得到所述异常信息的异常类名;
根据所述异常类名,确定导致所述应用程序崩溃的原因。
本发明第二方面提供一种应用程序崩溃处理装置,包括:
应用复归模块,用于当应用程序出现由系统异常导致的崩溃时,根据崩溃时应用程序的历史运行数据在虚拟屏中预先重建复归所述应用程序;
应用显示恢复模块,用于在所述应用程序重新复归完成后,关闭崩溃的应用程序,并将重新复归的应用程序移回主屏。
本发明第三方面提供一种电子设备,包括存储器,处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上述的应用程序崩溃处理方法。
本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的应用程序崩溃处理方法。
与现有技术相比,本发明提供的应用程序崩溃处理方法、装置、电子设备及计算机可读存储介质,具有以下有益效果:
本发明提供的应用程序崩溃处理方法通过在应用程序出现由系统异常导致的崩溃时,在虚拟屏中重建复归该应用程序后再关闭崩溃的应用程序,并将重新复归的应用程序移回主屏,由于其是在虚拟屏预先重建复归应用程序后再关闭应用进程,应用程序恢复的时间仅需要应用重建复归的时间,相比于现有的应用程序崩溃后关闭崩溃的应用进程再重建复归应用的方法,本发明能有效减少应用恢复的时间,从而提高用户的使用体验感。
附图说明
图1是本发明提供的现有技术在应用发生崩溃后的三种处理情形的流程图;
图2是本发明实施例提供的应用程序崩溃处理方法的流程示意图;
图3是本发明实施例提供的应用程序崩溃处理装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的应用程序崩溃处理方法,由电子设备执行,所述电子设备部署有主屏和虚拟屏。具体的,所述电子设备可以为电脑、电视、手机、平板等;其中,所述电子设备上装载有各种应用程序(APP),例如视频APP,浏览器,导航APP。一般地,APP默认运行在主屏上,并通过主屏与用户进行交互。
图2示出了本发明实施例提供的应用程序崩溃处理方法的流程示意图。本发明实施例提供的应用程序崩溃处理方法,包括步骤S110到步骤S130:
步骤S110,当应用程序出现由系统异常导致的崩溃时,根据崩溃时应用程序的历史运行数据在虚拟屏中预先重建复归所述应用程序。
在本发明实施例中,所述历史运行数据包括所述应用程序发生崩溃时的页面栈数据和所述应用程序从启动到发生崩溃时的所有运行状态数据。
具体的,应用程序崩溃时的当前页面栈数据用于指示应用程序的不同页面的显示层级,例如,用户打开某一APP时,依次打开了A页面、B页面和C页面,则页面的入栈顺序为:首先A页面入栈,然后B页面入栈,最后C页面入栈。APP在最终显示时会显示C页面,即显示位于栈顶对应的页面。若在C页面运行中出现了异常,保存的所述应用程序崩溃时的页面栈数据为A->B->C,其中C位于页面栈的栈顶。在具体实施时,所述页面栈数据可以从ActivityManagerService中读取,ActivityManagerService是操作系统提供的服务,具有自动记录应用运行过程中产业的页面信息的功能。
具体的,所述应用程序从启动到发生崩溃时的所有运行状态数据应当理解为:若某一应用程序在T1时刻启动,并在T2时刻由于系统异常导致发生崩溃,则所述历史运行数据包括从T1时刻到T2时刻运行的所有运行状态数据。
其中,所述运行状态数据包括了页面显示数据、页面显示数据的来源和用户的操作行为记录。以新闻APP为例,若用户在打开新闻APP后,进入到某一新闻页面并在该则新闻下评论后返回到新闻APP首页时发生崩溃,则运行状态数据应当包括有新闻内容、用户评论了该新闻、用户评论时间和评论内容等。
具体的,本发明实施例的应用程序重建复归应当理解为:重启应用程序并将应用程序恢复到应用崩溃时的运行状态,具体表现为将应用恢复到应用崩溃时主屏上显示的活动页面(Activity),同时还复原用户在崩溃前的应用页面时已经进行的编辑信息。
步骤S120,在所述应用程序重新复归完成后,关闭崩溃的应用程序,并将重新复归的应用程序移回主屏。
值得说明的是,现有技术中,应用程序在发生崩溃后都会先终止该崩溃的应用进程再重新创建,这个流程中有个空白期是等待重建完成,用户等待耗时较长。而在上述流程中,应用程序恢复的时间包括杀掉该崩溃的应用进程的时间和应用程序重建复归的时间,同时,由于在完成应用进程的关闭到应用开始重建之间还可能存在有中间空白期,因此,应用程序恢复的时间还应当包括有中间空白期的时间,其重建复归的时间较长。而在本发明实施例中,在发生系统异常时,在虚拟屏中重建复归应用程序,之后再杀掉崩溃的应用程序进程,同时将重建复归的应用程序移回到主屏,用户等待应用程序恢复的时间仅需要应用程序重建复归的时间,(在应用程序重建复归后再杀掉崩溃的应用程序,在杀掉崩溃的应用程序时,重建复归的应用程序已显示在主屏上了),因此,能够有效降低用户等待应用恢复的时长,从而提高用户的使用体验感。
此外,由于在应用程序发生崩溃时,还保存了历史运行数据,且是根据该历史运行数据进行应用程序的重建复归,因此,复归后的应用程序后还保留了用户已经进行的编辑信息,不会出现因应用程序崩溃重启后出现的页面已编辑信息丢失的现象,用户不需要花费额外的精力去手动恢复应用程序崩溃退出前的编辑信息,大大提升了用户使用的体验感。
基于上述实施例提供的应用程序崩溃处理方法,其通过在应用程序出现由系统异常导致的崩溃时,在虚拟屏中重建复归该应用程序后再关闭崩溃的应用程序,并将重新复归的应用程序移回主屏,由于其是在虚拟屏预先重建复归应用程序后再关闭应用进程,应用程序恢复的时间仅需要应用重建复归的时间,相比于现有的应用程序崩溃后先关闭崩溃的应用进程再重建复归应用程序的方法,本发明能有效减少应用恢复的时间,从而提高用户的使用体验感。
在一种可选的实施方式中,所述应用程序崩溃处理方法还包括步骤S130:
步骤S130,当所述应用程序出现由非系统异常导致的崩溃时,卸载所述应用程序中发生异常的功能模块,并重新加载所述功能模块。
在用户在执行某一业务时触发了某种特殊case时,可能导致该业务对应的功能模块运行出现异常,实际上,这种异常影响范围小,不需要通过kill掉进程的方式来处理,仅需要重新加载出现异常的功能模块,即可完成应用程序的恢复。因此,相比于现有的直接杀掉进程后再重建复归应用程序的方式,本发明实施例提供的应用程序崩溃处理方法在非系统异常的场景下能有效降低系统的消耗,并能有效减少应用恢复的时间。
在一种可选的实施方式中,在应用程序出现由系统异常导致的崩溃,还可以通过步骤S110′~S121′处理崩溃的应用程序:
S110′,当应用程序出现由系统异常导致的崩溃时,锁定崩溃时主屏的当前画面;
S111′,根据崩溃时应用程序的历史运行数据在虚拟屏中预先重建复归所述应用程序;
S120′,在所述应用程序重新复归完成后,关闭崩溃的应用程序,并将重新复归的应用程序移回主屏;
S121′,解除对主屏的锁定操作。
在本发明实施例中,锁定崩溃时主屏的当前画面,即采用冻屏的方式锁定应用程序崩溃时的画面,在对画面锁定的期间,应用程序的显示界面一直保持为应用崩溃时的画面,同时,在此期间,系统不会对用户的操作进行刷新,即系统不会响应用户在应用程序显示界面上作出的任何操作。
可以理解的是,在本发明实施例中,采用冻屏的方式可以使得应用程序从崩溃到重建复归的过程中一直保持为崩溃时的画面,不会出现画面闪退的情况,从而可以使得用户感觉当前页面一直没丢失,并在用户感知不到的情况下在虚拟屏上完成了应用程序的重建,使得用户对于应用程序崩溃和恢复的过程是无感的,从而提升了用户的使用体验感。
在一种可选的实施方式中,所述步骤S120中的“将重新复归的应用程序移回主屏”,具体包括:
将重新复归的应用程序的显示接口切换为主屏的接口,以将重新复归的应用程序移回主屏。
一般地,应用程序的界面显示是通过调用displayid的接口来完成设置的。由于重新复归的应用程序是在虚拟屏上创建的,而崩溃的应用程序是在主屏创建并显示在主屏上,在关闭崩溃的应用进程时,同时要将重新复归的应用程序的显示接口由原来的虚拟屏的接口切换为主屏的接口。例如,主屏的displayid是1,虚拟屏的displayid是2,则只需要将重新复归的应用程序的显示接口displayid从2变成1,即能实现重新复归的应用程序在主屏上的显示。
在一种可选的实施方式中,所述步骤S130“当所述应用程序出现由非系统异常导致的崩溃时,卸载所述应用程序中发生异常的功能模块,并重新加载所述功能模块”,具体包括:
当所述功能模块为显示模块时,锁定崩溃时主屏的当前画面,并保存所述应用程序崩溃时的页面栈数据和显示模块的历史运行数据;
卸载所述显示模块,根据所述显示模块的历史运行数据,重新加载所述显示模块;
根据所述页面栈数据,将所述应用程序恢复到崩溃时的页面;
解除对主屏的锁定操作;
当所述功能模块为非显示模块时,保存所述非显示模块的历史运行数据;
卸载所述非显示模块,根据所述非显示模块的历史运行数据,重新加载所述非显示模块。
在本发明实施例中,当检测到为非系统导致的应用崩溃时,应用程序可以通过异常处理器来重新加载运行出现问题的功能模块。相比于现有的杀死应用进程再重建的方式,本发明实施例的应用程序崩溃处理方法的应用恢复的效率更高,且系统性能更好。
其中,显示模块的数据是指画面显示的内容,以网易云APP为例,用户先打开歌手列表画面,点击歌手周杰伦进入歌手详情画面,选择了一首青花瓷播放。则显示模块的历史运行数据包括了歌手列表、用户选择了周杰伦歌手、播放了青花瓷这个三个数据,之后在根据该数据依次恢复歌手列表画面,歌手详情画面,歌曲播放画面。
示例性的,所述非显示模块可以为文件上传模块和视频解析模块等其他非显示功能的模块。以所述非显示模块为视频解析模块为例,若应用程序在视频解析的过程中出现异常而导致崩溃,此时,所述视频解析模块的历史运行数据应该包括应用程序启动时刻到应用程序发生崩溃时已经进行解析的视频数据。
在本发明实施例中,当出现问题的功能模块为显示模块时,此时应用主屏画面数据不能正常显示,此时先锁定崩溃时主屏的当前画面,再重新加载显示模块,之后再解冻画面,即可实现用户无感知崩溃的发生。而当出现问题的功能模块为非显示模块,例如视频解析模块时,只需重新加载该功能模块即可,不会影响到用户画面的表现。
在一种可选的实施方式中,所述应用程序崩溃处理方法还包括步骤S100:
S100,当所述应用程序发生崩溃时,通过异常处理器捕捉异常信息;
对所述异常信息进行解析,得到所述异常信息的异常类名;
根据所述异常类名,确定导致所述应用程序崩溃的原因。
应用程序都会有个默认异常处理器,当应用程序出现错误后,应用程序执行的流程发生改变,应用程序的控制权转移到异常处理器,因此可以在异常处理器中捕获异常。每个异常都有异常类名,异常具体消息,完整的堆栈信息。通过这些信息我们分析该异常类型,发生异常的是哪个模块。
在本发明实施例中将应用程序异常分为系统异常和非系统异常,应用程序出现的系统异常通常都会以Error结尾命名,比如NoClassDefFoundError,OutOfMemoryError等。Error是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java虚拟机)出现的问题。
非系统异常包括运行时异常和非运行时异常。运行时异常是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等。这些异常一般是由程序逻辑错误引起的,非运行时异常是RuntimeException以外的异常,类型上都属于Exception类及其子类。
相应地,参见图2,本发明实施例还提供一种应用程序崩溃处理装置,所述装置可以部署在电子设备上,其用于执行上述实施例提供的应用程序崩溃处理方法的全部步骤和流程,所述应用程序崩溃处理装置10包括:
应用复归模块110,用于当应用程序出现由系统异常导致的崩溃时,根据崩溃时应用程序的历史运行数据在虚拟屏中预先重建复归所述应用程序;
应用显示恢复模块120,用于在所述应用程序重新复归完成后,关闭崩溃的应用程序,并将重新复归的应用程序移回主屏在一种可选的实施方式中,所述应用程序崩溃处理装置10还包括:
运行异常处理模块,用于当所述应用程序出现由非系统异常导致的崩溃时,卸载所述应用程序中发生异常的功能模块,并重新加载所述功能模块。
需要说明的是,本发明实施例提供的应用程序崩溃处理装置10用于执行上述实施例提供的应用程序崩溃处理方法的全部步骤和流程,两者的工作原理和作用效果一一对应,这里不再作过多的赘述。
此外,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种电子设备,包括存储器,处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上述实施例提供的应用程序崩溃处理方法。
所述电子设备可以是桌上型计算机、笔记本、掌上电脑、车端抬头显示装置、车端中控设备等计算设备。所述车电子设备可包括,但不仅限于,处理器、存储器。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述应用程序崩溃处理装置10/电子设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述应用程序崩溃处理装置10/电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述实施例提供的应用程序崩溃处理方法。
所述存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种应用程序崩溃处理方法,其特征在于,由电子设备执行,所述电子设备部署有主屏和虚拟屏,包括:
当应用程序出现由系统异常导致的崩溃时,根据崩溃时应用程序的历史运行数据在虚拟屏中预先重建复归所述应用程序;
在所述应用程序重新复归完成后,关闭崩溃的应用程序,并将重新复归的应用程序移回主屏。
2.如权利要求1所述的应用程序崩溃处理方法,其特征在于,所述方法还包括:
当所述应用程序出现由非系统异常导致的崩溃时,卸载所述应用程序中发生异常的功能模块,并重新加载所述功能模块。
3.如权利要求1所述的应用程序崩溃处理方法,其特征在于,在根据崩溃时应用程序的历史数据在虚拟屏中预先重建复归所述应用程序之前,还包括:
锁定崩溃时主屏的当前画面;
则,在将重新复归的应用程序移回主屏之后,还包括:
解除对主屏的锁定操作。
4.如权利要求1所述的应用程序崩溃处理方法,其特征在于,所述历史运行数据包括所述应用程序发生崩溃时的页面栈数据和所述应用程序从启动到发生崩溃时的所有运行状态数据。
5.如权利要求1所述的应用程序崩溃处理方法,其特征在于,所述将重新复归的应用程序移回主屏,具体包括:
将重新复归的应用程序的显示接口切换为主屏的接口,以将重新复归的应用程序移回主屏。
6.如权利要求2所述的应用程序崩溃处理方法,其特征在于,所述当所述应用程序出现由非系统异常导致的崩溃时,卸载所述应用程序中发生异常的功能模块,并重新加载所述功能模块,具体包括:
当所述功能模块为显示模块时,锁定崩溃时主屏的当前画面,并保存所述应用程序崩溃时的页面栈数据和显示模块的历史运行数据;
卸载所述显示模块,根据所述显示模块的历史运行数据,重新加载所述显示模块;
根据所述页面栈数据,将所述应用程序恢复到崩溃时的页面;
解除对主屏的锁定操作;
当所述功能模块为非显示模块时,保存所述非显示模块的历史运行数据;
卸载所述非显示模块,根据所述非显示模块的历史运行数据,重新加载所述非显示模块。
7.如权利要求1所述的应用程序崩溃处理方法,其特征在于,所述方法还包括:
当所述应用程序发生崩溃时,通过异常处理器捕捉异常信息;
对所述异常信息进行解析,得到所述异常信息的异常类名;
根据所述异常类名,确定导致所述应用程序崩溃的原因。
8.一种应用程序崩溃处理装置,其特征在于,包括:
应用复归模块,用于当应用程序出现由系统异常导致的崩溃时,根据崩溃时应用程序的历史运行数据在虚拟屏中预先重建复归所述应用程序;
应用显示恢复模块,用于在所述应用程序重新复归完成后,关闭崩溃的应用程序,并将重新复归的应用程序移回主屏。
9.一种电子设备,包括存储器,处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时使得所述电子设备实现如权利要求1至6中任一项所述的应用程序崩溃处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至6中任一项所述的应用程序崩溃处理方法。
CN202111362808.0A 2021-11-17 2021-11-17 一种应用程序崩溃处理方法、装置、设备及介质 Pending CN114253752A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111362808.0A CN114253752A (zh) 2021-11-17 2021-11-17 一种应用程序崩溃处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111362808.0A CN114253752A (zh) 2021-11-17 2021-11-17 一种应用程序崩溃处理方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114253752A true CN114253752A (zh) 2022-03-29

Family

ID=80792662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111362808.0A Pending CN114253752A (zh) 2021-11-17 2021-11-17 一种应用程序崩溃处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114253752A (zh)

Similar Documents

Publication Publication Date Title
CN105144074B (zh) 使用混合存储器设备的块存储
WO2018227822A1 (zh) 异常堆栈信息获取方法、装置及计算机可读存储介质
CN112181554B (zh) 一种交互界面显示方法、设备、电子设备及存储介质
CN107704241B (zh) 一种页面状态切换的显示方法和装置
CN108989680B (zh) 摄像进程启动方法、计算机装置及计算机可读存储介质
CN112783761A (zh) 一种应用程序的冷启动时长测试方法、装置及系统
CN113742237A (zh) 程序调试方法、装置、设备以及存储介质
JP2019509547A (ja) Gpuリソース再構築方法、ユーザー・デバイス、システム及び記憶媒体
CN110618904A (zh) 卡顿检测方法和装置
CN106940722B (zh) 一种图片显示方法及装置
CN109569214B (zh) 分屏模式下的应用显示方法及装置、显示设备
CN110941516B (zh) 操作系统还原方法、装置、设备及存储介质
CN108170605A (zh) Bug信息的提交方法、客户端与计算机可读存储介质
US11630714B2 (en) Automated crash recovery
CN108920249B (zh) 一种基于多主机多虚拟机系统的限速方法
CN114253752A (zh) 一种应用程序崩溃处理方法、装置、设备及介质
CN114679491A (zh) 微前端服务应用方法、装置、存储介质及电子设备
CN108279937B (zh) 参数的调用方法、装置、存储介质及电子设备
CN112188177A (zh) 花屏预防方法、终端设备及存储介质
CN111782504A (zh) 一种应用程序异常的诊断方法、移动终端及可读存储介质
CN110837433A (zh) 性能优化方法、装置及电子设备
CN111475335A (zh) 一种数据库快速恢复的方法、系统、终端及存储介质
CN111381977A (zh) 消息处理方法及设备
CN110968706B (zh) 一种控制幻灯片播放动画的方法、系统和终端
CN113742299B (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