CN115129505A - 应用程序异常退出的处理方法及装置 - Google Patents

应用程序异常退出的处理方法及装置 Download PDF

Info

Publication number
CN115129505A
CN115129505A CN202211068900.0A CN202211068900A CN115129505A CN 115129505 A CN115129505 A CN 115129505A CN 202211068900 A CN202211068900 A CN 202211068900A CN 115129505 A CN115129505 A CN 115129505A
Authority
CN
China
Prior art keywords
application
application program
interface
recovery
abnormally
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.)
Granted
Application number
CN202211068900.0A
Other languages
English (en)
Other versions
CN115129505B (zh
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211068900.0A priority Critical patent/CN115129505B/zh
Publication of CN115129505A publication Critical patent/CN115129505A/zh
Application granted granted Critical
Publication of CN115129505B publication Critical patent/CN115129505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供了一种应用程序异常退出的方法及装置,在检测到应用程序异常退出后,获取该应用程序的信息(如,包名、任务栈等)并保存至本地。以及,向用户显示恢复应用提示框,恢复应用提示框用于提示用户是否恢复异常退出的应用。如果用户选择是,则从本地获取异常退出的应用程序的信息恢复其异常关闭时的状态,如直接显示该应用异常退出时显示的界面。可见,利用该方案在应用程序异常退出后,无需用户重新进行一系列操作可以直接恢复异常退出时的状态,简化了用户操作,提高了用户体验。

Description

应用程序异常退出的处理方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用程序异常退出的处理的方法及装置。
背景技术
智能终端上的应用程序发生卡死或闪退现象时,该应用的进程被杀死。此后,重新启动该应用时,无法恢复该应用异常关闭前的状态。
发明内容
有鉴于此,本申请提供了一种应用程序异常退出的处理方法及装置,以解决上述的至少部分技术问题,其公开的技术方案如下:
第一方面,本申请提供了一种应用程序异常退出的处理方法,应用于电子设备,包括:响应于对第一应用程序的启动操作,检测第一应用程序在预设时长内是否发生过异常退出;响应于检测到第一应用程序在预设时长内发生过异常退出,显示恢复应用提示框,恢复应用提示框用于提示用户第一应用程序异常退出以及是否恢复第一应用程序。这样,在检测到用户启动的应用程序在预设时长内异常退出,显示恢复应用提示框,提示用户是否恢复第一应用程序,用户可以根据自己的需求选择是否恢复,满足了不同用户的需求,提高了用户体验。
在第一方面的一种可能的实现方式中,显示恢复应用提示框包括:在桌面界面上显示所述恢复应用提示框。可见,当用户重启异常退出的应用程序时,先在桌面界面上显示恢复应用提示框,使得用户可以直观地看到恢复应用提示框,而且,此过程无需启动应用程序,避免占用过多系统资源。
在第一方面的另一种可能的实现方式中,在桌面界面上显示恢复应用提示框,包括:恢复应用提示框与第一应用程序的图标之间的距离小于预设距离。当用户启动应用程序时,必然会关注应用程序图标所在位置的范围,在图标附近显示恢复应用提示框能够使用户无需转移注视焦点即可看到恢复应用提示框,提高了用户体验。
在第一方面的又一种可能的实现方式中,在桌面界面上显示恢复应用提示框包括:恢复应用提示框的任一边框紧邻第一应用程序的图标的任一边。这样,恢复应用提示框紧邻第一应用程序的图标显示,使得用户无需转移注视焦点即可看到恢复应用提示框的内容,提高了用户体验。
在第一方面的再一种可能的实现方式中,该方法还包括:响应于对第一应用程序的启动操作,启动第一应用程序的首页界面;显示恢复应用提示框包括:在第一应用程序的首页界面上显示恢复应用提示框。这样,启动应用程序和显示恢复应用提示框同时进行,减少了用户等待时间,提高用户体验。
在第一方面的另一种可能的实现方式中,该方法还包括:响应于检测到第一应用程序异常退出,获取第一应用程序的异常信息,异常信息包括第一应用程序的识别信息和活动Activity任务栈,Activity任务栈包括第一应用程序异常退出时的Activity信息;保存第一应用程序的异常信息。这样,可以根据保存的应用程序异常退出时的信息,恢复应用程序。
在第一方面的又一种可能的实现方式中,检测到第一应用程序异常退出的过程包括:响应于检测到第一应用程序退出,获取第一应用程序的前后台运行状态;若第一应用程序处于前台运行状态,确定第一应用程序是异常退出。这样,能够准确感知到应用程序是否异常退出。
在第一方面的再一种可能的实现方式中,响应于对第一应用程序的启动操作,检测第一应用程序在预设时长内是否发生过异常退出,包括:响应于对第一应用程序的启动操作,查询保存的应用程序的异常信息中是否包含第一应用程序的识别信息;响应于保存的应用程序的异常信息中包含第一应用程序的识别信息,确定第一应用程序发生过异常退出,并检测异常退出的时刻与当前时刻之间的时间差是否在预设时长内;响应于检测到时间差在预设时长内,确定第一应用程序异常退出发生在预设时长内。
在第一方面的又一种可能的实现方式中,该方法还包括:响应于在所述恢复应用提示框中选择恢复应用的操作,直接从显示所述恢复应用提示框的界面跳转至所述第一应用程序异常退出时的界面。这样,用户在恢复应用提示框中选择恢复应用的控件后,可以直接恢复该应用程序异常退出时的状态,用户无需反复操作才能进入应用程序异常退出时的状态,提高了用户体验。
在第一方面的再一种可能的实现方式中,直接从显示所述恢复应用提示框的界面跳转至所述第一应用程序上一次异常退出时的界面,包括:从保存的应用程序的异常信息中,获取与所述第一应用程序的识别信息相匹配的Activity任务栈,并读取所述Activity任务栈栈顶的Activity信息;基于所述Activity信息显示所述第一应用程序异常退出时的界面。可见,在恢复应用程序异常退出时的状态时,可以根据保存的应用程序的异常信息直接显示应用程序异常退出时的状态。
在第一方面的另一种可能的实现方式中,电子设备安装有操作系统,操作系统包括位于应用框架层的应用恢复提示模块和界面管理服务模块;响应于在恢复应用提示框中选择恢复应用的操作,直接从显示恢复应用提示框的界面跳转至第一应用程序异常退出时的界面,包括:应用恢复提示模块响应于在恢复应用提示框中选择恢复应用的操作,调用界面管理服务模块并向界面管理服务模块传递第一应用程序的识别信息和Activity任务栈;界面管理服务模块基于第一应用程序的识别信息和Activity任务栈,直接从显示恢复应用提示框的界面跳转至第一应用程序上一次异常退出时的界面。
第二方面,本申请还提供了一种应用程序异常退出的处理方法,应用于电子设备,包括:响应于检测到第一应用程序退出,检测第一应用程序是否是异常退出;响应于确定第一应用程序是异常退出,在桌面界面上显示恢复应用提示框,恢复应用提示框用于提示用户第一应用程序异常退出以及是否恢复第一应用程序。这样,应用程序异常退出时,直接在桌面界面上显示恢复应用提示框,即应用程序异常退出后立即提示用户是否恢复应用,无需用户启动应用程序,直接显示恢复应用提示框,进一步减少了用户的操作,提高了用户体验。
在第二方面的一种可能的实现方式中,检测第一应用程序是否异常退出,包括:获取第一应用程序退出时的前后台运行状态;若前后台运行状态是前台运行状态,确定第一应用程序异常退出。
第三方面,本申请还提供了一种电子设备,所述电子设备包括:一个或多个处理器、存储器和触摸屏;所述存储器用于存储程序代码;所述处理器用于运行所述程序代码,使得电子设备实现如第一方面任一种可能的实现方式所述的应用程序异常退出的处理方法。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有指令,当所述指令在电子设备上运行时,使得电子设备执行第一方面任一种可能的实现方式所述的应用程序异常退出的处理方法。
第五方面,本申请还提供了一种计算机程序产品,其上存储有执行,当所述计算机程序产品在电子设备上运行时,使得所述电子设备实现如第一方面任一种可能的实现方式所述的应用程序异常退出的处理方法。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种界面示意图;
图1B是本申请实施例提供的另一种界面示意图;
图1C是本申请实施例提供的又一种界面示意图;
图2是本申请实施例提供的一种电子设备的结构示意图;
图3是本申请实施例提供的一种电子设备的软件结构框图;
图4是本申请实施例提供的一种应用程序异常退出的方法流程图;
图5是本申请实施例提供的另一种应用程序异常退出的方法流程图;
图6是本申请实施例提供的又一种应用程序异常退出的方法流程图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在一种应用场景中,电子设备中的应用程序超时无响应,会显示应用程序无响应(application not response,ANR)对话框,ANR对话框包括“关闭应用”和“等待”两个选项,用户选择“关闭应用”后,系统会杀死该应用的进程。
在另一种应用场景中,电子设备中的应用程序由于某些原因出现闪退现象,即启动或使用应用程序的过程中突然退出的情况。
可见,上述两种应用场景中,应用程序都是异常退出。相关技术中,应用程序异常退出后,当用户再启动该应用程序时,无法恢复应用异常退出时的状态。
下面以手机的设置应用程序异常退出为例进行说明,例如,如图1A的(1)所示,设置应用的界面10包括各个设置项,如WLAN、蓝牙、移动网络101等,实际应用中界面10中还包括其他设置项,此处不再一一示出。例如,当用户点击“移动网络”设置项后,跳转至如图1A的(2)所示的移动网络设置项的界面20,界面20包括如飞行模式、移动数据、SIM卡管理、个人热点、流量管理等多个设置项。
如果用户点击流量管理设置项201后设置应用无响应,则跳转至图1A的(3)所示的界面,该界面在界面20上覆盖一层灰度图层,并在灰度图层的上层显示ANR对话框202,对话框202上显示“关闭应用”和“等待”两个选项,用户可以点击任意一个选项。如果用户点击关闭应用选项,系统会杀死设置应用的进程,并释放设置应用占用的系统资源(如内存等),即设置应用异常关闭。当用户再次打开设置应用时,无法恢复设置应用异常关闭前的状态,导致用户体验差。
为了解决上述技术问题,本申请实施例提供了一种应用程序异常退出的方法,该方法在检测到应用程序异常关闭后,显示恢复应用提示框。该恢复应用提示框包括是否恢复异常关闭应用的选项。如果用户选择“是”选项,则直接启动异常关闭的应用程序,且直接显示该应用程序异常关闭时显示的界面。
本文中的异常关闭与异常退出的含义相同,指应用程序超时无响应退出或闪退的场景。
在本申请的一个示例性实施例中,如图1A的(3)所示,当用户点击关闭应用选项后,跳转至如图1A的(4)所示的界面30,即从应用程序的界面退回至桌面应用的界面,桌面应用也可称为桌面或Launcher(桌面启动器)等。
如图1A的(4)所示,界面30包括位于底层的桌面界面,位于桌面界面上层的灰度图层,以及,位于顶层的恢复应用提示框301。恢复应用提示框301用于提示用户应用程序异常退出是否恢复该应用程序。
其中,恢复应用提示框301也可以设置在界面30的其他位置,如界面30的中部或顶部,本申请对此不做限定。
如图1A的(4)所示,恢复应用提示框201中显示提示文本内容“检测到设置异常退出,是否恢复设置应用”,以及选择控件“是”和“否”。如果用户点击“是”选项,跳转至如图1A的(2)所示的界面,即设置应用的第一个界面。可见,用户点击“是”选项后所显示的界面与设置应用无响应时所显示的界面相同,即异常退出的应用程序实现了恢复应用程序异常退出前的状态。
由图1A的(3)和(4)所示的示例可知,应用程序异常退出后,立即在桌面界面上显示提示用户是否恢复异常退出应用的提示框,即恢复应用提示框301。用户可以根据提示框的提示信息进行选择。
在本申请的另一示例性实施例中,在应用程序异常退出后的预设时长内,若用户再次启动该应用程序,在桌面界面上显示恢复应用提示框。
例如,当用户点击图1B的(3)所示的关闭应用选项后,跳转至图1B的(5)所示的桌面界面40,桌面界面40包括多个应用的图标,如包括设置应用图标401。以及应用程序组件,如时间组件等,此处不再赘述。
在设置应用异常退出后的预设时长内,如图1B的(5)所示,用户点击设置应用图标401,跳转至图1B的(6)所示的界面50,界面50包括位于底层的桌面界面,位于桌面界面上层的灰度图层,以及,位于顶层的恢复应用提示框501。如图1B的(6)所示,恢复应用提示框501位于设置应用图标501的上方。
恢复应用提示框501所显示的内容与图1A的(4)所示的恢复应用提示框301显示的内容相同,此处不再赘述。此外,恢复应用提示框501还可以位于界面50的其他位置,例如,界面50的底部、中部或顶部等,本申请对此不做限定。
如图1B的(6)所示,用户点击“是”选项,跳转至图1B的(2)所示的界面,即直接显示应用程序异常退出时所显示的界面。
在本申请的又一示例性实施例中,应用程序异常退出后,且在预设时长内用户再次启动该应用程序后,直接启动该应用程序,并在该应用程序的第一个界面上显示恢复应用提示框。
在设置应用异常退出的预设时长内,如图1C的(5)所示,用户点击桌面40上的设置应用图标401,跳转至图1C的(7)所示的界面60。界面60包括位于底层的设置应用的首个界面,位于首个界面上层的灰度图层,以及位于顶层的恢复应用提示框601。该提示框包含的内容与图1A的(4)所示的恢复应用提示框301相同,此处不再赘述。
用户点击恢复应用提示框601中的“是”选项,则跳转至图1C的(2)所示的移动网络设置界面,即直接跳转至应用程序异常退出时所显示的界面。
此外,如图1C的(7)所示,该提示框位于界面60的底部,当然,恢复应用提示框601还可以位于界面60的其他位置,如界面60的中部或顶部等,本申请对此不做限定。此外,恢复应用提示框601的尺寸可以根据需求调整,例如,可以采用尺寸更小的提示框,本申请对此不做限定。
在一些实施例中,可以应用本申请提供的应用程序异常退出的方法的电子设备可以是手机、平板电脑、桌面型/膝上型个人电脑、笔记本电脑、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等具有触摸屏的设备。
请参见图2,示出了本申请实施例提供的一种电子设备的结构示意图。
如图2所示,该电子设备可以包括处理器110、存储器120和触摸屏130。
处理器110可以包括一个或多个处理单元,例如,处理器110可以包括应用处理器(application processor,AP),图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
存储器120可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在存储器120的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过运行存储器120中的指令执行本申请提供的应用程序异常退出的方法。
触摸屏130可以包括触摸传感器和显示屏。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。通过显示屏提供与触摸操作相关的视觉输出。
在一些实施例中,触摸传感器可以设置于显示屏中。在另一些实施例中,触摸传感器也可以设置于电子设备的表面,与显示屏所处的位置不同。
另外,在上述部件之上,运行有操作系统。在该操作系统上可以安装运行应用程序。
电子设备的操作系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android®系统为例,示例性说明电子设备的软件结构。
图3是本申请实施例提供的一种电子设备的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括设置,相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等,在本申请的一个实施例中,应用程序框架层还包括应用死亡通知模块,界面管理服务模块,应用恢复提示模块,界面任务管理服务模块等。
死亡通知模块(AppDeathRecipient),AppDeathRecipient是ActivityManagerService中的类,AppDeathRecipient类中包括多个方法,如BinderDied()方法。
当应用程序被杀死后,会调用BinderDied()方法,换言之,当死亡通知模块检测到BinderDied()方法被回调时确定应用程序退出。进一步,判断应用程序退出时是否处于前台运行状态,如果应用程序在前台运行状态下退出,确定该应用程序是异常退出。
其中,Binder机制是Android系统进程间通信的核心机制。
界面管理服务模块(ActivityManagerService,AMS),是Android系统中非常重要的一个服务,统一调度各个应用进程,是Activity的管理者。Activity可以是一个可视化的用户界面,负责创建一个屏幕窗口,放置UI组件,供用户交互等。
应用恢复提示模块(RecoverAlertDialog),AlertDialog类是Android系统中一种常见的信息提示方法,可以通过设置一个对话框展示对用户的提示信息。在本申请实施例中,弹出一个对话框提示用户是否恢复异常退出的应用程序。
在一个示例性实施例中,应用恢复提示模块可以集成在AMS服务中。在另一实施例中,应用恢复提示模块与AMS服务相互独立。本申请对应用恢复提示模块的形态不做限定。
界面任务管理服务模块(ActivityManagerTaskService),用于管理Activity任务。在AMS中Activity的容器是Task,Task的容器是Stack。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如,显示功能模块、触控功能模块、音频功能模块等。例如,显示功能模块可以包括表面管理器(surface manager),媒体库(MediaLibraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
内核层是硬件和软件之间的层。内核层至少包含触控驱动、显示驱动,摄像头驱动,音频驱动,传感器驱动。
例如,触摸屏可以包括显示屏和触摸传感器,其中,传感器驱动中包括触控传感器驱动。
需要说明的是,本申请实施例虽然以Android系统为例进行说明,但是其基本原理同样适用于基于其他操作系统的电子设备。
下面结合图4至图6阐述本申请的实施例。为了方便描述,下面以电子设备是手机为例进行说明。
请参见图4,示出了本申请实施例提供的一种应用程序异常退出的方法流程图。如图1A的(3)和(4)所示,该方法在检测到应用程序异常退出后,立即在桌面界面上显示恢复应用提示框,用于提示用户是否恢复应用程序异常退出时的状态。
如图4所示,该方法可以包括以下步骤:
S110,用户关闭异常应用。
此处的异常应用是指发生异常的应用程序,如卡死无响应的应用程序。
如图1A的(3)所示,设置应用程序无响应后用户点击“关闭应用”退出发生异常的设置应用。
S120,异常应用退出后,调用应用死亡通知模块中的BinderDied方法,并向应用死亡通知模块传递异常应用的进程ID(processID,PID)。
应用程序启动时,系统会为其随机分配一个PID,应用运行期间该应用的PID不变,若重启应用,则重新随机分配PID。
在一示例性实施例中,系统调用BinderDied方法时,会向BinderDied方法异常退出应用对应的PID,BinderDied方法根据PID确定异常退出的应用。
S130,应用死亡通知模块基于应用程序的前后台运行状态,判断该应用程序是否是异常退出,如果是,则执行步骤S140~S1110;如果否,则仅执行S140,即仅执行应用退出的流程。
基于接收到的PID获取该应用程序的前后台运行状态,如果该应用程序退出时处于前台运行状态,则确定该应用程序是异常退出,继续处理后续的步骤;如果该应用程序退出时处于后台运行状态,则确定该应用程序不是异常退出,则结束当前流程,等待检测到下一个应用退出时,执行本实施例提供的方法。
在本申请一实施例中,应用死亡通知模块是ActivityManagerService.AppDeathRecipient类。
应用死亡通知模块可以从系统中获取接收到的PID对应的应用程序的前后台运行状态,如果应用程序处于前台运行状态时调用BinderDied方法,确定该应用程序由于无响应等异常而退出。如果应用程序退出时处于后台运行状态,确定该应用程序不是因为异常而退出,如可能是正常退出。
S140,应用死亡通知模块运行BinderDied方法,执行应用退出的处理过程。
应用死亡通知模块确定应用程序是异常退出后,运行BinderDied方法,该BinderDied方法基于接收到的PID进一步处理该应用退出后的相关处理流程。
S150,应用死亡通知模块运行BinderDied方法后,调用应用恢复提示模块中的保存异常应用信息的方法。
应用恢复提示模块是RecoverAlertDialog类,通过该类方法可以实现向用户展示是否恢复异常退出应用的对话框。
在本申请一实施例中,在运行BinderDied方法的过程中,调用应用恢复提示模块中保存异常应用信息的方法,调用此方法的过程中向应用恢复提示模块传递异常应用的PID。
S160,应用恢复提示模块运行保存异常应用信息的方法,获取与PID相匹配的应用的包名和任务栈信息并保存。
应用恢复提示模块运行getExceptionAppInfo方法,该方法基于接收到的PID获取异常应用的包名,并将获得的异常应用的信息存储至相应的存储空间,即为应用恢复提示模块分配的内存空间。
在Android系统中使用包名(package name)判断应用程序的同一性,即每个应用程序的包名不同。在应用程序运行期间,应用程序的PID不变,因此,通过PID可以标识一应用程序,进一步获取与该PID对应的应用程序的包名。应用恢复提示模块运行getExceptionAppTask方法获取异常应用的任务栈信息。
在AMS中Activity的容器是任务(Task),Task的容器是堆栈(Stack)。通过异常应用的PID查找该异常应用对应的任务栈。
堆栈的存取数据方式是后进先出,因此应用程序异常退出时的界面信息存储在任务栈的栈顶。通过getTopActivityFromTaskStack方法获取栈顶的Activity信息。进一步,将栈顶的Activity存储至对应的存储空间,即为应用恢复提示模块分配的内存空间。
S170,应用死亡通知模块调用应用恢复提示模块的弹出恢复应用提示框的方法。
在BinderDied方法运行结束时,调用应用恢复提示模块中的弹出恢复应用提示框的方法,如ShowRecoverDialog方法。
S180,应用恢复提示模块运行弹出恢复应用提示框的方法,弹出恢复应用提示框。
在一示例性实施例,运行ShowRecoverDialog方法,在桌面界面上显示如图1A的(4)所示的恢复应用提示框。
S190,响应于用户点击“是”的操作,获取保存的异常应用的包名和任务栈信息。
检测到用户点击“是”选项的操作后,从本地存储空间中获取该异常应用对应报名,任务栈,以便恢复该应用异常退出时的状态。
S1100,应用恢复提示模块调用界面管理服务模块的恢复应用的方法,并向界面管理服务模块传递异常应用的包名和任务栈信息。
如图1A的(4)所示,用户点击恢复应用提示框上的“是”选项后,应用恢复提示模块调用界面管理服务模块(AMS)的方法,如MoveTaskToFront方法,并向该方法传递异常应用的信息(如,应用包名)及任务栈信息(即任务栈中栈顶的Activity信息)。
S1110,界面管理服务模块运行恢复应用的方法,基于异常应用的信息,恢复应用异常退出时的状态。
AMS运行恢复应用的方法,如MoveTaskToFront方法,MoveTaskToFront方法基于接收到的应用的信息,如应用的包名及任务栈中栈顶的Activity信息,即可恢复该应用异常退出时的状态。
例如,如图1A的(4)所示,用户点击恢复应用提示框301中的“是”选项后,直接跳转至图1A的(2)所示的界面,即直接显示设置应用异常退出时的界面。
本实施例提供的应用程序异常退出的方法,在检测到应用程序异常退出后,获取该应用程序的信息(如,包名、任务栈信息等)并保存至本地。并且,向用户显示恢复应用提示框,恢复应用提示框用于提示用户是否恢复异常退出的应用。用户可以根据自己的需求选择是否恢复异常退出的应用程序,满足不同用户的需求,提高了用户体验。如果用户选择是,则从本地获取异常退出的应用程序的信息恢复其异常关闭时的状态,如直接显示该应用异常退出时显示的界面。利用该方案在应用程序异常退出后,可以直接恢复异常退出时的状态,无需用户重新进行一系列操作才能进入异常退出时的状态,简化了用户操作,进一步提高了用户体验。
在另一示例性实施例中,在应用程序异常退出后的预设时长内,用户再次启动该应用时,在异常退出应用的图标上方显示恢复应用提示框。如图5所示,该方法可以包括:
S210,用户关闭异常应用。
S220,异常应用退出后,系统调用BinderDied方法,并向BinderDied方法传递异常应用的PID。
S230,应用死亡通知模块基于应用程序的前后台运行状态,判断该应用程序是否是异常退出,如果是,则执行步骤S240~S2150;如果否,则仅执行S240,即确定应用程序是正常退出,则执行退出应用程序的流程。
S240,应用死亡通知模块运行BinderDied方法,执行应用退出的处理过程。
S250,应用死亡通知模块运行BinderDied方法后,调用应用恢复提示模块中的保存异常应用信息的方法。
S260,应用恢复提示模块运行保存异常应用信息的方法,获取与PID相匹配的应用的包名和任务栈信息并保存。
本实施例中的S210~S260与图4所示实施例中的S110~S160的实施过程相同,此处不再赘述。
S270,用户再次启动异常退出的应用程序。
如图1B的(5)所示,设置应用异常退出后,用户再次点击设置应用的图标,再次启动设置应用。
S280,调用界面管理服务模块中打开应用界面的方法,并向打开应用界面的方法传递应用包名。
例如,在一示例性实施例中,当系统检测到用户启动异常退出的应用程序的操作后,调用AMS服务中的StartActivity方法。系统调用StartActivity方法时,向该方法传递应用包名。
S290,AMS调用应用恢复提示模块中的判断是否提示恢复应用的方法。
系统调用AMS中的StartActivity方法后,触发AMS调用RecoverAlertDialog类中判断是否提示恢复应用的方法,并向RecoverAlertDialog类传递应用包名。
S2100,应用恢复提示模块判断应用包名对应的应用程序是否发生过异常退出。如果应用包名对应的应用程序发生过异常退出,则继续执行S2110。如果应用包名对应的应用程序未发生过异常退出,则结束当前流程。
运行RecoverAlertDialog类中的isAbnormalExitAPP方法,判断应用包名对应的应用程序是否发生过异常退出。
isAbnormalExitAPP方法可以获取异常退出应用对应的应用包名、任务栈、退出时刻等信息。判断获取的异常退出的应用包名中是否包含目标应用包名(即需要判断的应用的包名),如果包含则确定该应用程序发生过异常退出,进一步还可以获得异常退出时刻。如果不包含则确定该应用程序未发生过异常退出。
S2110,应用恢复提示模块判断上一次异常退出是否发生在预设时长内。
在一示例性实施例中,获得应用异常退出的时刻。判断该应用上一次异常退出的时刻t1与当前时刻t2之间的时间差是否在预设时长范围内。其中,预设时长可以根据实际需求调整,例如1min,3min,5min等,本申请对预设时长的具体时长不做限定。
例如,在一示例性实施例中,运行RecoverAlertDialog类中的isWithinOneMinute方法判断该应用上一次的异常退出是否发生在一分钟之内。
应用程序上一次异常退出的时刻距离当前时刻的时长越短,用户需要恢复该应用的概率越大;反之,应用程序上一次异常退出的时刻距当前时刻的时长越长,用户需要恢复该应用的概率越小。因此,如果该应用上一次异常退出发生在预设时长之内,确定需要提示用户是否恢复该应用程序的状态。如果该应用上一次异常退出超过预设时长,确定用户不需要恢复该应用异常退出时的状态,进而确定不需要提示用户是否恢复该应用程序的状态。
S2120,应用恢复提示模块运行弹出恢复应用提示框的方法,在异常应用图标上方弹出恢复应用提示框。
在一示例性实施例,运行ShowRecoverDialog方法,在桌面界面的异常应用图标上方显示恢复应用提示框。
例如,在设置应用异常退出后,如图1B的(5)所示用户再次启动设置应用时,从桌面界面跳转至设置应用的界面,并且后台判断出设置应用上一次异常退出发生在预设时长内,跳转至如图1B的(6)所示的界面,即在设置应用图标上方展示恢复应用提示框。此外,可以在桌面界面上覆盖灰度图层,即设置应用首页显示灰色,从而突出显示恢复应用提示框。当然,也可以不设置灰度图层,本申请对此不做限定。当用户启动应用程序时,必然会关注应用程序图标所在位置的范围,用户无需转移注视焦点即可考到哪到恢复应用提示框所提示的内容,进一步提高了用户体验。
S2130,应用恢复提示模块响应于用户点击“是”的操作,获取保存的异常应用的包名和任务栈信息。
S2140,应用恢复提示模块调用界面管理服务模块的恢复应用的方法,并向界面管理服务模块传递异常应用的包名和任务栈信息。
S2150,界面管理服务模块运行恢复应用的方法,基于异常应用的信息,恢复应用异常关闭时的状态。
其中,异常应用的信息可以包括应用的包名和任务栈中栈顶的Activity信息。MoveTaskToFront方法基于这些信息恢复应用的状态,如应用的界面。
例如,如图1B的(6)所示,用户点击恢复应用提示框501中的“是”选项后,直接跳转至图1B的(2)所示的界面,即直接显示设置应用异常退出时的界面。
本实施例中的S2130~S2150与图4所示实施例中的S190~S1110的实施过程相同,此处不再赘述。
本实施例提供的应用程序异常退出的方法,在检测应用程序异常退出后,获取该应用程序的信息(如,包名、任务栈信息等)并保存至本地。在用户再次启动该应用程序时,判断该应用程序是否在预设时长内发生过异常退出,如果是,则在该应用程序图标上方弹出恢复应用提示框。在用户选择恢复应用的状态的情况下,获取本地保存的该应用的信息恢复其异常退出的状态。可见,利用该方案在应用异常退出后,用户重新启动该应用时,可以恢复应用异常退出时的界面,简化了用户操作,提高了用户体验。用户重新启动该应用时,表明用户恢复应用程序异常退出状态的概率较高,因此,此时提示用户更符合用户的需求。此外,该方案在异常退出的应用图标附近显示恢复应用提示框,这样用户无需转移注视焦点即可考到哪到恢复应用提示框所提示的内容,进一步提高了用户体验。
在又一示例性实施例中,在应用程序异常退出后的预设时长内,用户再次启动该应用时,直接在该应用界面上显示恢复应用提示框。如图6所示,该方法可以包括:
S310,用户关闭异常应用。
S320,异常应用退出后,系统调用BinderDied方法,并向BinderDied方法传递异常应用的PID。
S330,应用死亡通知模块基于应用程序的前后台运行状态判断应用程序是否是异常退出,如果是,则执行步骤S340~S3170;如果否则仅执行S340,即如果确定应用程序是正常退出,则执行退出应用程序的流程。
S340,应用死亡通知模块运行BinderDied方法,执行应用退出的处理过程。
S350,应用死亡通知模块运行BinderDied方法后,调用应用恢复提示模块中的保存异常应用信息的方法。
S360,应用恢复提示模块运行保存异常应用信息的方法,获取与PID相匹配的应用的包名和任务栈信息并保存。
S370,用户再次启动异常退出的应用程序。
本实施例中的S310~S370与图5所示实施例中的S210~S270的实施过程相同,此处不再赘述。
S380,调用界面管理服务模块中显示应用界面的方法,并向该方法传递应用包名。
例如,在一示例性实施例中,当系统检测到用户启动异常退出的应用程序的操作后,调用AMS服务中的StartActivity方法打开应用界面。系统调用StartActivity方法时,向该方法传递应用包名。
S390,AMS运行StartActivity方法,显示该应用的第一个界面,并向应用程序返回已显示第一个界面的反馈结果。
S3100,应用程序显示第一个界面后,调用界面任务管理服务模块的ActivityResumed方法。
界面任务管理服务模块即ActivityManagerTaskService,即Activity任务管理服务。
应用程序的首个界面显示后,会调用ActivityManagerTaskService中的ActivityResumed方法,向该方法传递该应用包名。此时Activity运行在前台,用户可以与之进行交互,即Activity完全可见。
在运行ActivityResumed方法的过程中,执行后续的步骤。
S3110,界面任务管理服务模块调用应用恢复提示模块中的判断是否提示恢复应用的方法。
在运行ActivityResumed方法的过程中,ActivityManagerTaskService调用RecoverAlertDialog类中的判断是否提示恢复应用的方法,调用过程中向RecoverAlertDialog类传递应用包名。例如,isAbnormalExitAPP方法和isWithinOneMinute方法。
S3120,应用恢复提示模块基于应用包名判断该应用是否发生过异常退出。
RecoverAlertDialog类接收到应用包名后,例如,通过运行isAbnormalExitAPP方法判断应用包名对应的应用程序是否发生过异常退出。如果该应用发生过异常退出,则继续执行S3130。如果该应用未发生过异常退出,则结束当前流程。
S3130,应用恢复提示模块判断异常退出是否发生在预设时长内。
在一示例性实施例中,例如,预设时长可以是1min,运行isWithinOneMinute方法判断异常退出是否发生在一分钟之内。
如果应用异常退出发生在预设时长内,则确定需要提示用户是否恢复该应用程序的状态。如果应用异常退出超过预设时长,则确定不需要提示用户是否恢复该应用程序的状态。
S3140,应用恢复提示模块运行弹出恢复应用提示框的方法,在当前界面上层弹出恢复应用提示框。
本实施例中,当前界面即异常应用的第一个界面。如图1C的(7)所示,在设置应用首页显示恢复应用提示框601。其中,在显示该提示框时,可以在设置应用首页界面上覆盖灰度图层,即设置应用首页显示灰色,从而突出显示恢复应用提示框。当然,也可以不设置灰度图层,本申请对此不做限定。
S3150,响应于用户点击“是”的操作,获取保存的异常应用的包名和任务栈信息。
S3160,应用恢复提示模块调用界面管理服务模块的恢复应用的方法,并向界面管理服务模块传递异常应用的包名和任务栈信息。
S3170,界面管理服务模块运行恢复应用的方法,基于异常应用的信息,恢复应用异常关闭时的状态。
例如,如图1C的(7)所示,用户点击恢复应用提示框601中的“是”选项后,直接跳转至图1C的(2)所示的界面,即直接显示设置应用异常退出时的界面。
本实施例中的S3150~S3170与图5中的实施过程相同,此处不再赘述。
本实施例提供的应用程序异常退出的方法,在检测到应用程序异常退出后,获取该应用程序的信息(如,包名、任务栈信息等)并保存至本地。在用户再次启动该应用程序时,判断该应用程序是否在预设时长内发生过异常退出,如果是,则在该应用程序的界面上弹出恢复应用提示框。在用户选择恢复应用的状态的情况下,获取本地保存的该应用的信息恢复其异常退出的状态。可见,利用该方案在应用异常退出后,用户重新启动该应用时,可以恢复应用异常退出时的界面,简化了用户操作,提高了用户体验。而且,该方案启动应用程序和显示恢复应用提示框的过程可以同时进行,这样,减少用户等待应用启动的时间,进一步提高了用户体验。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种应用程序异常退出的处理方法,其特征在于,应用于电子设备,包括:
响应于对第一应用程序的启动操作,检测所述第一应用程序在预设时长内是否发生过异常退出;
响应于检测到所述第一应用程序在所述预设时长内发生过异常退出,显示恢复应用提示框,所述恢复应用提示框用于提示用户所述第一应用程序异常退出以及是否恢复所述第一应用程序。
2.根据权利要求1所述的方法,其特征在于,所述显示恢复应用提示框,包括:在桌面界面上显示所述恢复应用提示框。
3.根据权利要求2所述的方法,其特征在于,所述在桌面界面上显示所述恢复应用提示框,包括:
所述恢复应用提示框与所述第一应用程序的图标之间的距离小于预设距离。
4.根据权利要求2所述的方法,其特征在于,所述在桌面界面上显示所述恢复应用提示框,包括:所述恢复应用提示框的任一边框紧邻所述第一应用程序的图标的任一边。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于对第一应用程序的启动操作,启动所述第一应用程序的首页界面;
所述显示恢复应用提示框,包括:在所述第一应用程序的首页界面上显示所述恢复应用提示框。
6.根据权利要求1-5任一项所述的方法,其特征在于,检测到所述第一应用程序异常退出的过程,包括:
响应于检测到所述第一应用程序退出,获取所述第一应用程序的前后台运行状态;
若所述第一应用程序处于前台运行状态,确定所述第一应用程序是异常退出。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
响应于检测到所述第一应用程序异常退出,获取所述第一应用程序的异常信息,所述异常信息包括所述第一应用程序的识别信息和活动Activity任务栈,所述Activity任务栈包括所述第一应用程序异常退出时的Activity信息;
保存所述第一应用程序的异常信息。
8.根据权利要求7所述的方法,其特征在于,所述响应于对第一应用程序的启动操作,检测所述第一应用程序在预设时长内是否发生过异常退出,包括:
响应于对第一应用程序的启动操作,查询保存的应用程序的异常信息中是否包含所述第一应用程序的识别信息;
响应于保存的应用程序的异常信息中包含所述第一应用程序的识别信息,确定所述第一应用程序发生过异常退出,并检测所述异常退出的时刻与当前时刻之间的时间差是否在预设时长内;
响应于检测到所述时间差在预设时长内,确定所述第一应用程序异常退出发生在预设时长内。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应于在所述恢复应用提示框中选择恢复应用的操作,直接从显示所述恢复应用提示框的界面跳转至所述第一应用程序异常退出时的界面。
10.根据权利要求9所述的方法,其特征在于,所述直接从显示所述恢复应用提示框的界面跳转至所述第一应用程序上一次异常退出时的界面,包括:
从保存的应用程序的异常信息中,获取与所述第一应用程序的识别信息相匹配的Activity任务栈,并读取所述Activity任务栈栈顶的Activity信息;
基于所述Activity信息显示所述第一应用程序异常退出时的界面。
11.根据权利要求9或10所述的方法,其特征在于,所述电子设备安装有操作系统,所述操作系统包括位于应用框架层的应用恢复提示模块和界面管理服务模块;
所述响应于在所述恢复应用提示框中选择恢复应用的操作,直接从显示所述恢复应用提示框的界面跳转至所述第一应用程序异常退出时的界面,包括:
所述应用恢复提示模块响应于在所述恢复应用提示框中选择恢复应用的操作,调用所述界面管理服务模块并向所述界面管理服务模块传递所述第一应用程序的识别信息和Activity任务栈;
所述界面管理服务模块基于所述第一应用程序的识别信息和Activity任务栈,直接从显示所述恢复应用提示框的界面跳转至所述第一应用程序上一次异常退出时的界面。
12.一种应用程序异常退出的处理方法,其特征在于,应用于电子设备,包括:
响应于检测到第一应用程序退出,检测所述第一应用程序是否是异常退出;
响应于确定所述第一应用程序是异常退出,在桌面界面上显示恢复应用提示框,所述恢复应用提示框用于提示用户所述第一应用程序异常退出以及是否恢复所述第一应用程序。
13.根据权利要求12所述的方法,其特征在于,检测所述第一应用程序是否异常退出,包括:
获取所述第一应用程序退出时的前后台运行状态;
若所述前后台运行状态是前台运行状态,确定所述第一应用程序异常退出。
14.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器、存储器和触摸屏;所述存储器用于存储程序代码;所述处理器用于运行所述程序代码,使得所述电子设备实现如权利要求1-13任一项所述的应用程序异常退出的处理方法。
15.一种计算机可读存储介质,其特征在于,其上存储有指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-13任一项所述的应用程序异常退出的处理方法。
CN202211068900.0A 2022-09-02 2022-09-02 应用程序异常退出的处理方法及装置 Active CN115129505B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211068900.0A CN115129505B (zh) 2022-09-02 2022-09-02 应用程序异常退出的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211068900.0A CN115129505B (zh) 2022-09-02 2022-09-02 应用程序异常退出的处理方法及装置

Publications (2)

Publication Number Publication Date
CN115129505A true CN115129505A (zh) 2022-09-30
CN115129505B CN115129505B (zh) 2023-07-07

Family

ID=83387486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211068900.0A Active CN115129505B (zh) 2022-09-02 2022-09-02 应用程序异常退出的处理方法及装置

Country Status (1)

Country Link
CN (1) CN115129505B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701134A (zh) * 2022-10-14 2023-09-05 荣耀终端有限公司 一种数据处理方法和电子设备
CN116795604A (zh) * 2023-08-22 2023-09-22 荣耀终端有限公司 应用异常退出的处理方法、装置和设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847554A (zh) * 2016-03-24 2016-08-10 维沃移动通信有限公司 一种移动终端异常关机的数据处理方法及移动终端
CN111221671A (zh) * 2019-11-27 2020-06-02 中国银行股份有限公司 应用程序异常退出的处理方法及装置
CN111459715A (zh) * 2019-01-20 2020-07-28 华为技术有限公司 应用异常恢复
CN112099993A (zh) * 2020-09-16 2020-12-18 福建天晴在线互动科技有限公司 一种程序异常退出后恢复现场的方法及其系统
CN113127094A (zh) * 2021-04-19 2021-07-16 Oppo广东移动通信有限公司 应用程序运行方法、装置、存储介质以及终端
CN113742190A (zh) * 2021-09-06 2021-12-03 联想(北京)有限公司 控制方法及电子设备
CN113849339A (zh) * 2020-06-28 2021-12-28 华为技术有限公司 恢复应用程序的运行状态的方法、装置及存储介质
CN114489917A (zh) * 2022-04-06 2022-05-13 荣耀终端有限公司 应用程序异常退出的处理方法、电子设备和可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847554A (zh) * 2016-03-24 2016-08-10 维沃移动通信有限公司 一种移动终端异常关机的数据处理方法及移动终端
CN111459715A (zh) * 2019-01-20 2020-07-28 华为技术有限公司 应用异常恢复
CN111221671A (zh) * 2019-11-27 2020-06-02 中国银行股份有限公司 应用程序异常退出的处理方法及装置
CN113849339A (zh) * 2020-06-28 2021-12-28 华为技术有限公司 恢复应用程序的运行状态的方法、装置及存储介质
CN112099993A (zh) * 2020-09-16 2020-12-18 福建天晴在线互动科技有限公司 一种程序异常退出后恢复现场的方法及其系统
CN113127094A (zh) * 2021-04-19 2021-07-16 Oppo广东移动通信有限公司 应用程序运行方法、装置、存储介质以及终端
CN113742190A (zh) * 2021-09-06 2021-12-03 联想(北京)有限公司 控制方法及电子设备
CN114489917A (zh) * 2022-04-06 2022-05-13 荣耀终端有限公司 应用程序异常退出的处理方法、电子设备和可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王晨;刘学纵;: "基于系统内核与共享内存的守护进程实现研究", 工业控制计算机 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701134A (zh) * 2022-10-14 2023-09-05 荣耀终端有限公司 一种数据处理方法和电子设备
CN116701134B (zh) * 2022-10-14 2024-05-17 荣耀终端有限公司 一种数据处理方法和电子设备
CN116795604A (zh) * 2023-08-22 2023-09-22 荣耀终端有限公司 应用异常退出的处理方法、装置和设备
CN116795604B (zh) * 2023-08-22 2023-12-12 荣耀终端有限公司 应用异常退出的处理方法、装置和设备

Also Published As

Publication number Publication date
CN115129505B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
CN115129505B (zh) 应用程序异常退出的处理方法及装置
US11803451B2 (en) Application exception recovery
US11164278B2 (en) Screen capture method, terminal, and storage medium employing both parent application program and sub-application program
CN107766128B (zh) 一种启动应用的方法及装置
CN105955802B (zh) 一种移动终端的应用运行方法及移动终端
CN110519461B (zh) 文件发送方法、装置、计算机设备以及存储介质
CN110990132B (zh) 异步任务处理方法、装置、计算机设备和存储介质
CN109669877B (zh) 内存管理方法、装置、终端及存储介质
CN114116056A (zh) 页面显示方法及装置
TWI726976B (zh) 應用app的資源載入方法、業務功能實現方法及裝置
CN113835569A (zh) 终端设备、应用内部功能的快捷启动方法和存储介质
CN116107922A (zh) 一种应用程序的管理方法及电子设备
US11074112B2 (en) Maintaining the responsiveness of a user interface while performing a synchronous operation
CN109840113B (zh) 一种应用数据处理方法及其设备、存储介质、终端
CN113127113A (zh) 一种操作指令的响应方法和计算机设备
CN115016710B (zh) 应用程序推荐方法
CN116720533A (zh) 扫码方法、电子设备及可读存储介质
CN114816662A (zh) 应用于Kubernetes的容器编排方法和系统
CN114461053A (zh) 资源调度方法及相关装置
CN107577422B (zh) 一种基于双域空间的照片存储方法及装置
CN115828227B (zh) 识别广告弹窗的方法、电子设备及存储介质
WO2024104161A1 (zh) 手势触控方法及电子设备
CN115061758B (zh) 应用的显示方法、终端、电子设备以及存储介质
US11704014B1 (en) Supporting micro swipes for generating custom user interface responses
CN117724634A (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
GR01 Patent grant
GR01 Patent grant