CN114896097A - 一种应用程序无响应处理方法及电子设备 - Google Patents

一种应用程序无响应处理方法及电子设备 Download PDF

Info

Publication number
CN114896097A
CN114896097A CN202210821936.5A CN202210821936A CN114896097A CN 114896097 A CN114896097 A CN 114896097A CN 202210821936 A CN202210821936 A CN 202210821936A CN 114896097 A CN114896097 A CN 114896097A
Authority
CN
China
Prior art keywords
application
electronic device
application program
user
interface
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
CN202210821936.5A
Other languages
English (en)
Other versions
CN114896097B (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 CN202210821936.5A priority Critical patent/CN114896097B/zh
Publication of CN114896097A publication Critical patent/CN114896097A/zh
Application granted granted Critical
Publication of CN114896097B publication Critical patent/CN114896097B/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/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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Telephone Function (AREA)

Abstract

本申请实施例公开了一种应用程序无响应处理方法及电子设备,涉及电子技术领域,能够优化在应用程序出现应用程序无响应时,电子设备的处理过程,从而提高用户的体验。具体方案为:电子设备运行第一应用程序,并显示第一界面;在电子设备确定第一应用程序出现应用程序无响应ANR的情况下,电子设备显示第一提示窗;电子设备接收用户等待第一应用程序恢复响应的第一操作;响应于第一操作,电子设备显示第二提示窗;电子设备接收用户将第一应用程序切换到电子设备的后台的第二操作;响应于第二操作,电子设备将第一应用程序切换到电子设备的后台,并显示第二界面,第二界面为第二应用程序对应的界面。

Description

一种应用程序无响应处理方法及电子设备
技术领域
本申请涉及电子技术领域,尤其涉及一种应用程序无响应处理方法及电子设备。
背景技术
随着手机等电子设备的广泛普及,安装在手机等电子设备上的应用程序(application,APP)所实现的功能越来越完善,可以为用户的工作和生活提供诸多便利。用户对电子设备上的应用程序运行的流畅性要求也越来越高。
在用户通过电子设备使用应用程序的过程中,如果该应用程序在一段时间内反应不够灵敏,或者,电子设备上的该应用程序会出现卡死现象,电子设备可以确定该应用程序出现应用程序无响应(application not responding,ANR)。在电子设备上的应用程序出现ANR时,电子设备可以显示ANR提示窗。用户可以通过该ANR提示窗选择等待该应用程序响应,用户也可以通过该ANR提示窗选择关闭该应用程序。
然而,在用户通过ANR提示窗选择等待该应用程序响应时,电子设备通常显示该应用程序的冻屏界面,即在用户通过ANR提示窗选择等待该应用程序响应,用户无法通过电子设备进行其他操作,这就导致用户的体检较差。
发明内容
本申请实施例提供一种应用程序无响应处理方法及电子设备,能够优化在应用程序出现应用程序无响应时,电子设备的处理过程,从而提高用户的体验。
第一方面,本申请实施例提供一种应用程序无响应处理方法,应用于电子设备,该电子设备可以包括第一应用程序和第二应用程序,该应用程序无响应处理方法可以包括:电子设备运行第一应用程序,并显示第一界面,第一界面为第一应用程序对应的界面;在电子设备确定第一应用程序出现应用程序无响应ANR的情况下,电子设备显示第一提示窗,第一提示窗用于用户确认是否等待第一应用程序恢复响应;电子设备接收用户等待第一应用程序恢复响应的第一操作;响应于第一操作,电子设备显示第二提示窗,第二提示窗用于用户确认是否将第一应用程序切换到电子设备的后台;电子设备接收用户将第一应用程序切换到电子设备的后台的第二操作;响应于第二操作,电子设备将第一应用程序切换到电子设备的后台,并显示第二界面,第二界面为第二应用程序对应的界面。
基于第一方面所述的应用程序无响应处理方法,在第一应用程序出现ANR,用户通过ANR提示窗(即第一提示窗)选择等待第一应用程序恢复响应时,电子设备可以显示第二提示窗,即提示用户是否需要后台等待。在用户选择后台等待时,电子设备可以将第一应用程序(即出现ANR的应用程序)切换至后台等待第一应用程序恢复响应,且电子设备可以显示第二界面,即其他应用程序对应的界面,用户可以通过第二界面进行其他的操作,能够避免在用户通过ANR提示窗选择等待该应用程序响应时,用户无法通过电子设备进行其他的操作,从而提高用户的体检。
结合第一方面,在一种可能的实现方式中,上述应用程序无响应处理方法还可以包括:在第一应用程序恢复响应的情况下,电子设备显示第三提示窗,第三提示窗用于提示用户是否将第一应用程序切换到电子设备的前台;电子设备接收用户将第一应用程序切换到电子设备的前台的第三操作;响应于第三操作,电子设备将第一应用程序切换到电子设备的前台,并显示第三界面;第三界面为第一应用程序在出现ANR时对应的界面。
基于该可能的实现方式,在第一应用程序(即出现ANR的应用程序)在电子设备的后台恢复响应时,电子设备可以显示第三提示窗,即提示用户是否将该第一应用程序切换到电子设备的前台。在用户需要将第一应用程序切换到电子设备的前台时,电子设备可以将第一应用程序切换到电子设备的前台,并显示第三界面,即为第一应用程序在出现ANR时对应的界面,从而使用户可以方便且快速的打开第一应用程序,进一步提高用户的体验。
结合第一方面,在一种可能的实现方式中,上述应用程序无响应处理方法还可以包括:电子设备接收用户不将第一应用程序切换到电子设备的前台的第四操作;响应于第四操作,电子设备继续显示第二界面。
基于该可能的实现方式,在第一应用程序(即出现ANR的应用程序)在电子设备的后台恢复响应时,电子设备可以显示第三提示窗,即提示用户是否将该第一应用程序切换到电子设备的前台。在用户不需要将第一应用程序切换到电子设备的前台时,电子设备可以继续显示第二界面,即其他应用程序对应的界面,从而用户可以通过第二界面进行其他的操作,能够提高用户的体验。
结合第一方面,在一种可能的实现方式中,上述应用程序无响应处理方法还可以包括:电子设备接收用户不将第一应用程序切换到电子设备的后台的第五操作;响应于第五操作,电子设备显示第三界面,第三界面为第一应用程序在出现ANR时对应的界面。
基于该可能的实现方式,在第一应用程序出现ANR,用户通过ANR提示窗(即第一提示窗)选择等待第一应用程序恢复响应时,电子设备可以显示第二提示窗,即提示用户是否需要后台等待。在用户选择前台等待,即不将第一应用程序切换到后台时,电子设备可以显示第三界面,即显示第一应用程序在出现ANR时对应的界面,从而能够提高用户的体验。
结合第一方面,在一种可能的实现方式中,上述应用程序无响应处理方法还可以包括:电子设备接收用户关闭第一应用程序的第六操作;响应于第六操作,电子设备显示第四界面,第四界面包括第一应用程序的标识。
基于该可能的实现方式,在第一应用程序出现ANR,用户通过ANR提示窗(即第一提示窗)选择关闭第一应用程序时,电子设备可以第四界面,第四界面包括第一应用程序的标识。在用户需要再次打开第一应用程序时,用户可以通过第四界面包括的第一应用程序的标识,快速且方便的打开第一应用程序,从而能够提高用户的体验。
结合第一方面,在一种可能的实现方式中,上述应用程序无响应处理方法还可以包括:电子设备接收用户对第一应用程序的标识的第七操作;响应于第七操作,电子设备运行第一应用程序,并显示第三界面;第三界面为第一应用程序在出现ANR时对应的界面。
基于该可能的实现方式,在用户需要再次打开第一应用程序时,用户可以通过第五界面包括的第一应用程序的标识,快速且方便的打开第一应用程序,从而能够提高用户的体验。
结合第一方面,在一种可能的实现方式中,上述应用程序无响应处理方法还可以包括:在电子设备确定第一应用程序没有出现ANR的情况下,电子设备继续显示第一界面。
基于该可能的实现方式,在第一应用程序没有出现ANR时,电子设备可以继续显示第一界面,即第一应用程序对应的界面,从而能够保证用户对第一应用程序运行的流畅性要求,从而提高用户的体验。
结合第一方面,在一种可能的实现方式中,上述第二应用程序可以为电子设备在运行第一应用程序之前运行的应用程序。
基于该可能的实现方式,在用户通过第一提示窗(即ANR提示窗)选择关闭第一应用程序时,电子设备可以显示在运行第一应用程序之前运行的第二应用程序对应的界面,能够保证用户使用电子设备时对流畅性的要求,从而提高用户的体验。
第二方面,本申请实施例提供一种应用程序无响应处理装置,该应用程序无响应处理装置可以应用于电子设备,用于实现上述第一方面中的方法。该应用程序无响应处理装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,例如,运行模块、显示模块、接收模块和切换模块等。
其中,运行模块,可以用于运行第一应用程序。
显示模块,可以用于显示第一界面,第一界面为第一应用程序对应的界面。
显示模块,还可以用于在电子设备确定第一应用程序出现应用程序无响应ANR的情况下,显示第一提示窗,第一提示窗用于用户确认是否等待第一应用程序恢复响应。
接收模块,可以用于接收用户等待第一应用程序恢复响应的第一操作。
显示模块,还可以用于响应于第一操作,电子设备显示第二提示窗,第二提示窗用于用户确认是否将第一应用程序切换到电子设备的后台。
接收模块,还可以用于接收用户将第一应用程序切换到电子设备的后台的第二操作。
切换模块,还可以用于响应于第二操作,将第一应用程序切换到电子设备的后台。
显示模块,还可以用于显示第二界面,第二界面为第二应用程序对应的界面。
结合第二方面,在一种可能的实现方式中,显示模块,还可以用于在第一应用程序恢复响应的情况下,显示第三提示窗,第三提示窗用于提示用户是否将第一应用程序切换到电子设备的前台。
接收模块,还可以用于接收用户将第一应用程序切换到电子设备的前台的第三操作。
切换模块,还可以用于响应于第三操作,将第一应用程序切换到电子设备的前台。
显示模块,还可以用于显示第三界面;第三界面为第一应用程序在出现ANR时对应的界面。
结合第二方面,在一种可能的实现方式中,接收模块,还可以用于接收用户不将第一应用程序切换到电子设备的前台的第四操作。
显示模块,还可以用于响应于第四操作,电子设备继续显示第二界面。
结合第二方面,在一种可能的实现方式中,接收模块,还可以用于接收用户不将第一应用程序切换到电子设备的后台的第五操作。
显示模块,还可以用于响应于第五操作,显示第三界面,第三界面为第一应用程序在出现ANR时对应的界面。
结合第二方面,在一种可能的实现方式中,接收模块,还可以用于接收用户关闭第一应用程序的第六操作。
显示界面,还可以用于响应于第六操作,显示第四界面,第四界面包括第一应用程序的标识。
结合第二方面,在一种可能的实现方式中,接收模块,还可以用于接收用户对第一应用程序的标识的第七操作。
运行模块,还可以用于响应于第七操作,运行第一应用程序。
显示模块,还可以用于显示第三界面;第三界面为第一应用程序在出现ANR时对应的界面。
结合第二方面,在一种可能的实现方式中,显示模块,还可以用于在电子设备确定第一应用程序没有出现ANR的情况下,继续显示第一界面。
结合第二方面,在一种可能的实现方式中,第二应用程序为电子设备在运行第一应用程序之前运行的应用程序。
第三方面,提供了一种应用程序无响应处理设备,该应用程序无响应处理设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,提供了一种应用程序无响应处理设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该应用程序无响应处理设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该应用程序无响应处理设备执行如上述第一方面中任一项所述的应用程序无响应处理方法。
第五方面,提供了一种应用程序无响应处理设备,包括:处理器;所述处理器用于与存储器耦合,并读取存储器中的指令之后,根据所述指令执行如上述第一方面中任一项所述的应用程序无响应处理方法。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如第一方面或第一方面的可能的实现方式中任一项所述的应用程序无响应处理方法。
第七方面,本申请实施例提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现如第一方面或第一方面的可能的实现方式中任一项所述的应用程序无响应处理方法。
第八方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持电子设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存电子设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
应当理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的电子设备的显示界面示意图一;
图2为本申请实施例提供的一种应用程序无响应处理流程示意图一;
图3为本申请实施例提供的一种应用程序无响应处理流程示意图二;
图4为本申请实施例提供的一种电子设备的硬件结构示意图;
图5为本申请实施例提供的一种电子设备的软件结构示意图;
图6为本申请实施例提供的一种应用程序无响应处理方法的流程示意图一;
图7为本申请实施例提供的一种应用程序无响应处理方法的流程示意图二;
图8为本申请实施例提供的电子设备的显示界面示意图二;
图9为本申请实施例提供的电子设备的显示界面示意图三;
图10为本申请实施例提供的电子设备的显示界面示意图四;
图11为本申请实施例提供的一种应用程序无响应处理方法的流程示意图三;
图12为本申请实施例提供的一种应用程序无响应处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
随着手机等电子设备的广泛普及,各大应用程序市场中的应用程序(application,App)数量也经历了爆炸性增长,且安装在手机等电子设备上的应用程序所实现的功能越来越完善,可以为用户的工作和生活提供诸多便利。用户对电子设备上的应用程序运行的流畅性要求也越来越高。
在用户通过电子设备使用应用程序的过程中,可能会存在由于应用程序自身代码或者电子设备的操作系统等原因引起该应用程序的崩溃,进而无法继续使用该应用程序。例如,应用程序运行时异常、执行错误(如内存溢出等)以及子线程抛出的异常等都有可能引起的应用程序的崩溃。也就是说,在一段时间内该应用程序会出现反应不够灵敏,或者,电子设备上的该应用程序会出现卡死现象。
应用程序在一段时间内反应不够灵敏,或者电子设备上的该应用程序出现卡死现象时,电子设备可以确定该应用程序出现应用程序无响应(application not responding,ANR)。在电子设备确定该应用程序出现ANR时,电子设备可以显示ANR提示窗。通过该ANR提示窗,用户可以选择等待该应用程序响应。用户也可以通过该ANR提示窗选择关闭该应用程序。
例如,以用户使用电子设备(如手机)上的健康使用手机应用程序为例。在用户通过电子设备使用健康使用手机应用程序的过程中,由于该健康使用手机应用程序自身代码或者电子设备的操作系统等原因引起应用程序的崩溃,进而无法继续使用该应用程序。也就是说,健康使用手机应用程序可能会在一段时间内出现反应不够灵敏,或者健康使用手机应用程序可能会出现卡死现象,即该使用健康使用手机应用程序会出现ANR。
在电子设备确定该使用健康使用手机应用程序出现ANR,如健康使用手机应用程序会出现卡死现象时,如图1中的(a)所示,电子设备可以显示该健康使用手机应用程序对应的冻屏界面。也就是说,在电子设备确定该使用健康使用手机应用程序出现ANR时,电子设备可以显示该健康使用手机应用程序对应的冻屏界面,即用户无法在该健康使用手机应用程序对应的冻屏界面上进行操作。
如图1中的(a)所示,在电子设备显示该健康使用手机应用程序对应的冻屏界面时,电子设备还可以显示ANR提示窗01,用于询问(或者确认)用户是否关闭该健康使用手机应用程序。ANR提示窗01可以包括“设置无响应。是否将其关闭”字样,以提示用户是否关闭该健康使用手机应用程序。该ANR提示窗01还可以包括两个选项,即“关闭应用”选项和“等待”选项。
当电子设备接收到用户对该ANR提示窗01中“关闭应用”选项的触发操作,如点击操作时,电子设备可以确定用户需要关闭该健康使用手机应用程序,从而电子设备可以直接关闭该健康使用手机应用程序。
在电子设备关闭该健康使用手机应用程序之后,如图1中的(b)所示,电子设备可以显示电子设备的桌面,从而用户可以通过电子设备的桌面选择打开其他的应用程序。
当电子设备接收到用户对该ANR提示窗01中“等待”选项的触发操作,如点击操作时,电子设备可以确定用户需要等待该健康使用手机应用程序响应,从而电子设备可以不关闭该健康使用手机应用程序,并继续等待该健康使用手机应用程序的响应。
在电子设备接收到用户对该ANR提示窗01中“等待”选项的触发操作之后,如图1中的(c)所示,电子设备可以继续显示该健康使用手机应用程序对应的冻屏界面。在该健康使用手机应用程序恢复正常显示时,用户可以通过健康使用手机应用程序对应的显示界面上进行相应的操作。
也就是说,如图2所示,在电子设备的应用程序出现ANR时,电子设备的应用程序无响应处理过程可以包括:电子设备可以继续等待,即等待该健康使用手机应用程序的响应。在电子设备等待该健康使用手机应用程序的响应时,电子设备的显示界面可以持续冻屏,即电子设备可以继续显示该健康使用手机应用程序对应的冻屏界面,用户无法在该健康使用手机应用程序对应的冻屏界面上进行操作。
电子设备也可以关闭应用,即电子设备可以关闭该出现ANR的应用程序。在电子设备关闭该出现ANR的应用程序之后,电子设备可以找其他应用程序APP打开。如在电子设备关闭该出现ANR的应用程序之后,电子设备可以显示电子设备的桌面,从而用户可以通过电子设备的桌面选择打开其他的应用程序。
综上可知,在用户通过ANR提示窗选择等待出现ANR的应用程序响应时,电子设备通常显示的是该应用程序的冻屏界面,即在用户通过ANR提示窗选择等待该应用程序响应,用户无法通过电子设备进行其他操作,这就导致用户的体检较差。
此外,在用户通过ANR提示窗选择关闭该出现ANR的应用程序时,电子设备通常会显示电子设备的桌面,用户可以打开其他的应用程序。而在用户需要继续打开该出现ANR的应用程序时,用户需要在电子设备上的桌面上重新找到该出现ANR的应用程序的图标进行点击,这样操作比较麻烦,而且浪费时间,从而进一步影响用户的体验。
针对上述问题,本申请实施例提供一种应用程序无响应处理方法,应该于电子设备,该方法可以在用户通过ANR提示窗选择等待出现ANR的应用程序响应时,电子设备可以提示用户是否需要后台等待,在用户选择后台等待时,电子设备可以显示电子设备的桌面或其他应用程序对应的界面,并将该出现ANR的应用程序切换至后台等待该出现ANR的应用程序响应,从而用户可以进行其他操作,如打开其他的应用程序,从而提高用户的体验。
且在该出现ANR的应用程序在电子设备的后台恢复(即该应用程序在后台恢复响应)后,电子设备可以提示用户该出现ANR的应用程序已恢复,并向用户提供该出现ANR的应用程序的打开方式,从而用户可以方便且快速的打开该出现ANR的应用程序,从而进一步提高用户的体验。
此外,在用户通过ANR提示窗选择关闭该出现ANR的应用程序时,电子设备可以显示电子设备的桌面或者其他的应用程序的界面,从而用户可以打开其他的应用程序。而在电子设备显示电子设备的桌面或者其他的应用程序的界面时,电子设备可以向用户提供该出现ANR的应用程序的打开方式,从而用户可以方便且快速的再次打开该出现ANR的应用程序,从而进一步提高用户的体验。
例如,结合图3所示,在电子设备的应用程序出现ANR时,本申请实施例提供的电子设备的应用程序无响应处理过程可以包括:电子设备可以继续等待,即等待该出现ANR的应用程序的响应。在电子设备等待该出现ANR的应用程序响应时,电子设备的界面可以持续冻屏,即电子设备可以继续显示该出现ANR的应用程序对应的冻屏界面,用户无法在该出现ANR的应用程序对应的冻屏界面上进行操作。
在电子设备继续等待该出现ANR的应用程序响应时,电子设备可以提示用户是否后台等待,即后台等待该出现ANR的应用程序的响应。在用户选择前台等待时,电子设备可以在前台继续等待该出现ANR的应用程序响应。
在该出现ANR的应用程序响应时,即该出现ANR的应用程序恢复后,电子设备可以通知用户,并提供该出现ANR的应用程序的打开方式。在用户打开该出现ANR的应用程序时,电子设备可以显示该出现ANR的应用程序在出现ANR时的界面,即电子设备可以恢复到该出现ANR的应用程序的原来界面。
需要说明的是,在该出现ANR的应用程序响应时,电子设备也可以直接显示该出现ANR的应用程序在出现ANR时的界面,即电子设备可以直接恢复到该出现ANR的应用程序的原来界面。
在用户选择后台等待时,电子设备将该出现ANR的应用程序切换到后台等待该出现ANR的应用程序恢复响应。且电子设备可以显示其他应用程序对应的界面,或者显示电子设备的桌面,从而用户可以打开其他的应用程序,从而提高用户的体验。
且在该出现ANR的应用程序在后台恢复(即该应用程序在后台恢复响应)后,电子设备可以提示用户该出现ANR的应用程序已恢复,并向用户提供该出现ANR的应用程序的打开方式,从而用户可以方便且快速的打开该出现ANR的应用程序,从而进一步提高用户的体验。在用户打开该出现ANR的应用程序时,电子设备可以显示该出现ANR的应用程序在出现ANR时的界面,即电子设备可以恢复到该出现ANR的应用程序的原来界面。
电子设备也可以关闭应用,即电子设备可以关闭该出现ANR的应用程序。在电子设备关闭该出现ANR的应用程序之后,电子设备可以找其他应用程序APP打开。而在电子设备显示电子设备的桌面或者其他的应用程序的界面时,电子设备可以向用户提供该出现ANR的应用程序的打开方式,从而用户可以方便且快速的再次打开该出现ANR的应用程序,从而进一步提高用户的体验。在电子设备再次打开该出现ANR的应用程序时,电子设备可以恢复到该出现ANR的应用程序的原来界面。
下面对本申请实施例提供的应用程序无响应处理方法进行描述。
本申请实施例提供的应用程序无响应处理方法可以应用于电子设备。在一些实施例中,上述电子设备可以是手机、平板电脑、手持计算机,个人计算机(personal computer,PC),蜂窝电话,个人数字助理(personal digital assistant,PDA),可穿戴式设备等具有NFC功能的电子设备。本申请实施例在此对电子设备的具体形态不做限制。
示例地,以电子设备为手机为例,图4示出了本申请实施例提供的一种电子设备的结构示意图。
如图4所示,电子设备可以包括处理器410,外部存储器接口420,内部存储器421,通用串行总线(universal serial bus,USB)接口430,充电管理模块440,电源管理模块441,电池442,天线1,天线2,移动通信模块450,无线通信模块460,音频模块470,扬声器470A,受话器470B,麦克风470C,耳机接口470D,传感器模块480,按键490,马达491,指示器492,摄像头493,显示屏494,以及用户标识模块(subscriber identification module,SIM)卡接口495等。其中,传感器模块480可以包括压力传感器480A,陀螺仪传感器480B,气压传感器480C,磁传感器480D,加速度传感器480E,距离传感器480F,接近光传感器480G,指纹传感器480H,温度传感器480J,触摸传感器480K,环境光传感器480L,骨传导传感器480M等。
可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器410可以包括一个或多个处理单元,例如:处理器410可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器410中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器410中的存储器为高速缓冲存储器。该存储器可以保存处理器410刚用过或循环使用的指令或数据。如果处理器410需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器410的等待时间,因而提高了系统的效率。
在一些实施例中,处理器410可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块450,无线通信模块460,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块450可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块450可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块450可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块450还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块450的至少部分功能模块可以被设置于处理器410中。在一些实施例中,移动通信模块450的至少部分功能模块可以与处理器410的至少部分模块被设置在同一个器件中。
无线通信模块460可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块460可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块460经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器410。无线通信模块460还可以从处理器410接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块450耦合,天线2和无线通信模块460耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。
电子设备通过GPU,显示屏494,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏494和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器410可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏494用于显示图像,视频等。显示屏494包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏494,N为大于1的正整数。
本申请实施例中,显示屏494可用于显示电子设备的界面。
电子设备可以通过ISP,摄像头493,视频编解码器,GPU,显示屏494以及应用处理器等实现拍摄功能。在一些实施例中,电子设备可以包括1个或N个摄像头493,N为大于1的正整数。
内部存储器421可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器410通过运行存储在内部存储器421的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器421可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所建立的数据(比如音频数据,电话本等)等。此外,内部存储器421可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
加速度传感器480E可按照一定频率,周期性地采集电子设备的加速度数据。比如,可采集电子设备在各个方向(一般为XYZ三轴方向)上的加速度大小。
当然,可以理解的,上述图4所示仅仅为电子设备的形态为手机时的示例性说明。若电子设备是平板电脑,手持计算机,PC,PDA,可穿戴式设备(如:智能手表、智能手环)等其他设备形态时,电子设备的结构中可以包括比图4中所示更少的结构,也可以包括比图4中所示更多的结构,在此不作限制。
可以理解的是,一般而言,电子设备功能的实现除了需要硬件的支持外,还需要软件的配合。
电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android®系统为例,示例性说明电子设备的软件结构。
图5是本申请实施例提供的电子设备的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android®系统分为四层,从上至下分别为应用程序层,应用程序框架层(也可以称为系统框架java层),安卓®运行时(Android® runtime)和系统库(也可以称为Native层),以及内核层。
应用程序层可以包括一系列应用程序包。如图5所示,应用程序包可以包括相机,图库,日历,电话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图5所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
如图5所示,应用程序框架层还可以包括活动管理服务,无响应对话模块,后台等待对话模块,活动任务管理服务,恢复提示对话模块,输入调度模块等。
活动管理服务,可以为电子设备中的ActivityManagerService。活动管理服务,可以用于检测应用程序是否出现应用程序无响应,即检测应用程序是否出现ANR。即活动管理服务,可以用于检测ANR。在活动管理服务检测到ANR时,活动管理服务可以调用无响应对话模块,从而无响应对话模块可以弹出ANR提示窗。
活动管理服务,还可以用于将电子设备的系统(即电子设备的操作系统)的任务栈中的次顶栈任务栈对应的应用程序的界面移至前台显示。例如,在次顶栈任务栈为其他应用程序对应的任务栈时,活动管理服务可以将该其他应用程序对应的任务栈移至前台显示,即电子设备可以显示该应用程序对应的界面以及内容。或者在次顶栈任务栈为电子设备的桌面对应的任务栈时,活动管理服务可以将桌面对应的任务栈移至前台显示,即电子设备可以显示桌面对应的界面以及内容。
活动管理服务,还可以用于检测ANR应用程序是否恢复,即检测出现ANR的应用程序是否恢复正常。ANR的类型可以包括输入Input类型的ANR、服务Service的ANR和广播Broadcast类型的ANR。
对于Input类型的ANR,在Android®原生逻辑中,出现Input类型的ANR的应用程序恢复后,活动管理服务需要发送信号通知电子设备的操作系统(即系统服务system_server)中输入调度模块InputDispatcher删除等待队列waitqueue。
而对于服务类型的ANR和广播类型的ANR,在 Android®原生逻辑中,出现服务类型的ANR或广播类型的ANR应用程序恢复后,活动管理服务需要完成服务、广播处理完成的回调,即通过进程间通信Binder通知system_server移除定时消息。因此,对比文件不同类型的ANR,活动管理服务在检测ANR应用程序恢复后,执行的动作不同。
在活动管理服务检测到Input类型的ANR应用程序恢复后,活动管理服务可以调用输入调度模块,从而输入调度模块可以删除等待队列。
在活动管理服务检测到服务类型的ANR或广播类型的ANR应用程序恢复后,活动管理服务可以调用恢复提示对话模块,从而恢复提示对话模块可以确定该ANR应用程序是否在后台。
活动管理服务,还可以用于将ANR应用程序的任务栈移至前台显示,即电子设备可以显示ANR应用程序对应的界面以及内容。
无响应对话模块,可以为电子设备中的AppNotRespondingDialog。无响应对话模块,可以用于弹出ANR提示窗,即可以显示ANR提示窗。在用户通过ANR提示窗选择等待时,即用户通过ANR提示窗选择等待出现应用程序无响应ANR的应用程序(即ANR应用程序)响应,无响应对话模块,可以调用后台等待对话模块,从而后台等待对话模块可以弹出后台等待提示窗。
后台等待对话模块,可以为电子设备中的WaitBackgroundAlertDialog。后台等待对话模块,可以用于弹出后台等待提示窗,即可以显示后台等待提示窗。在用户通过后台等待提示窗选择后台等待时,即用户通过后台等待提示窗选择后台等待ANR应用程序响应时,后台等待对话模块,可以调用恢复提示对话模块,从而恢复提示对话模块可以保存该ANR应用程序的包名。
恢复提示对话模块,可以为电子设备中的RecoverAlertDialog。恢复提示对话模块,可以用于保存该ANR应用程序的包名。恢复提示对话模块,还可以用于通过活动任务管理服务获取系统的任务栈,即通过活动任务管理服务获取电子设备的操作系统的任务栈。
在恢复提示对话模块获取到电子设备的操作系统的任务栈之后,恢复提示对话模块可以根据操作系统的任务栈,查找到次顶栈任务栈。在恢复提示对话模块查找到次顶栈任务栈之后,恢复提示对话模块可以调用活动管理服务,从而活动管理服务可以将次顶栈任务栈移至前台显示。
电子设备的操作系统的任务栈,可以包括多个应用程序对应的任务栈。Android®系统中,任务栈是一种用来存放活动Activity实例的容器。通常当一个Android®应用程序启动时,如果当前环境中不存在该应用程序的任务栈,那么系统就会创建一个任务栈。此后,这个应用程序所启动的Activity都将在这个任务栈中被管理。
电子设备的操作系统的任务栈中栈顶任务栈,即为电子设备当前打开并运行的应用程序对应的任务栈。电子设备的操作系统的任务栈中次栈顶任务栈,即为电子设备当前打开并运行的应用程序之前打开并运行的应用程序对应的任务栈,通常电子设备的操作系统的任务栈中次栈顶任务栈,为电子设备的桌面对应的任务栈。
恢复提示对话模块,还可以用于确定ANR应用程序是否在后台,即确定在ANR应用程序恢复时,ANR应用程序是否在电子设备的后台。在恢复提示对话模块确定ANR应用程序在电子设备的后台的情况下,恢复提示对话模块,还可以用于弹出恢复提示窗,即可以显示恢复提示窗。在用户通过恢复提示窗选择恢复ANR应用程序时,恢复提示对话模块,还可以用于通过活动任务管理服务获取系统的任务栈。
在恢复提示对话模块通过活动任务管理服务获取系统的任务栈时,恢复提示对话模块还可以用于根据ANR应用程序的包名获取ANR应用程序的任务栈,即根据ANR应用程序的包名,在系统的任务栈中获取ANR应用程序对应的任务栈。
在恢复提示对话模块获取到ANR应用程序的任务栈之后,恢复提示对话模块,还可以用于调用活动管理服务,从而活动管理服务可以将ANR应用程序的任务栈移至前台显示,即电子设备可以显示ANR应用程序对应的界面以及内容。
活动任务管理服务,可以为电子设备中的ActivityTaskManagerService。活动任务管理服务,可以用于存储系统的任务栈,即活动任务管理服务,可以用于存储电子设备的操作系统的任务栈。
输入调度模块,可以为电子设备中的InputDispatcher。输入调度模块,可以用于删除等待队列,从而可以不执行等待队列中的进程。在输入调度模块删除等待队列之后,输入调度模块可以调用恢复提示对话模块,从而恢复提示对话模块可以确定ANR应用程序是否在电子设备的后台。
安卓®运行时Android® runtime包括核心库和虚拟机。安卓®运行时Android®runtime负责安卓®系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓®的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维和三维图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
二维图形引擎是二维绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
以下实施例中的方法均可以在具有上述硬件结构或软件结构的电子设备中实现。
以下结合图6对本申请实施例提供的应用程序无响应处理方法进行详细说明。图6为本申请实施例提供的一种应用程序无响应处理方法的流程示意图。如图6所示,该应用程序无响应处理方法可以包括下述S601-S616。
S601、电子设备运行第一应用程序,并显示第一界面。
电子设备可以包括多个应用程序,如电子设备可以包括第一应用程序,第一应用程序可以为电子设备包括的多个应用程序中的任一个应用程序。例如,第一应用程序可以电子设备上的健康使用手机应用程序,第一应用程序还可以电子设备上的其他应用程序。本申请实施例对此并不进行限定。
在电子设备运行第一应用程序之后,电子设备可以显示第一界面。第一界面,即第一应用程序对应的界面。
用户可以通过电子设备使用第一应用程序,即电子设备可以运行第一应用程序。在电子设备运行第一应用程序之后,由于第一应用程序可能出现应用程序无响应,即ANR,因此在电子设备运行第一应用程序之后,电子设备可以检测第一应用程序是否出现ANR。
S602、电子设备确定第一应用程序是否出现ANR。
在电子设备运行第一应用程序之后,电子设备可以检测第一应用程序是否出现ANR。在电子设备确定第一应用程序没有出现ANR(即应用程序无响应)的情况下,电子设备可以继续运行第一应用程序,即电子设备可以继续执行S601。在电子设备确定第一应用程序出现ANR(即应用程序无响应)的情况下,电子设备可以显示ANR提示窗(即应用程序无响应提示窗),即电子设备可以继续执行S603。
在一些示例中,电子设备确定第一应用程序是否出现ANR,可以包括:电子设备确定第一应用程序在预设时间内是否有响应,从而确定第一应用程序在预设时间内是否出现反应不够灵敏,或者第一应用程序在预设时间内是否出现卡死现象。预设时间可以根据实际情况设定,本申请实施例对此并不进行限定。
例如,结合图7所示,电子设备确定第一应用程序是否出现ANR,可以为电子设备,如电子设备的活动管理服务检测ANR,从而确定第一应用程序是否出现ANR。即在电子设备运行第一应用程序之后,电子设备的活动管理服务可以确定第一应用程序在预设时间内是否有响应,从而确定第一应用程序在预设时间内是否出现反应不够灵敏,或者第一应用程序在预设时间内是否出现卡死现象。在电子设备的活动管理服务确定第一应用程序在预设时间内没有响应的情况下,电子设备的活动管理服务可以确定第一应用程序出现ANR。
S603、电子设备显示ANR提示窗,ANR提示窗用于用户确认是否继续等待第一应用程序响应。
在电子设备确定第一应用程序出现ANR时,电子设备可以显示第一应用程序对应的冻屏界面。即在电子设备显示第一应用程序对应的冻屏界面时,即用户无法在第一应用程序对应的冻屏界面上进行操作。第一应用程序对应的冻屏界面,也可以为上述的第一界面,用户无法在第一界面上进行相应的操作。
第一应用程序对应的冻屏界面可以包括ANR提示窗(即第一提示窗),即应用程序无响应提示窗,ANR提示窗用于用户确认是否继续等待第一应用程序响应(即等待第一应用程序恢复响应),即ANR提示窗也可以用于用户确认是否关闭第一应用程序。
在电子设备接收到用户继续等待第一应用程序响应的操作的情况下,电子设备可以显示后台等待提示窗,从而提示用户是否将第一应用程序切换至后台等待响应,即电子设备可以继续执行下述S604-S605。在电子设备接收到用户不继续等待第一应用程序响应的操作(即用户关闭第一应用程序的操作)的情况下,电子设备可以显示第四界面,第四界面可以为第二应用程序对应的界面。第二应用程序可以为在电子设备运行第一应用程序之前运行的应用程序,即电子设备可以继续执行下述S615-S616。
在一些示例中,ANR提示窗可以包括“设置无响应。是否将其关闭”字样,以提示用户是否继续等待第一应用程序响应,也就是说,ANR提示窗也可以用于提示用户是否关闭第一应用程序。
ANR提示窗还可以包括“关闭应用”选项和“等待”选项。当电子设备接收到用户对该ANR提示窗中“关闭应用”选项的触发操作,如点击操作时,电子设备可以确定用户需要第一应用程序,从而电子设备可以直接关闭该第一应用程序。在电子设备关闭该第一应用程序之后,电子设备可以显示第四界面,第四界面可以为第二应用程序对应的界面,第四界面可以包括第一应用程序的标识,通过第一应用程序的标识,电子设备可以打开并运行第一应用程序。第二应用程序可以为在电子设备运行第一应用程序之前运行的应用程序。例如,第二应用程序可以为电子设备的桌面,第二应用程序也可以为电子设备包括的其他应用程序。本申请实施例对此并不进行限定。
当电子设备接收到用户对该ANR提示窗中“等待”选项的触发操作,如点击操作时,电子设备可以确定用户需要等待该第一应用程序响应,从而电子设备可以不关闭该第一应用程序,并继续等待该第一应用程序的响应。在电子设备确定用户需要等待该第一应用程序响应的情况下,电子设备可以显示后台等待提示窗,从而提示用户是否将第一应用程序切换至后台,从而等待第一应用程序响应。
例如,以第一应用程序为电子设备中的健康使用手机应用程序为例。在电子设备运行健康使用手机应用程序之后,由于健康使用手机应用程序可能出现应用程序无响应,电子设备可以确定健康使用手机应用程序是否出现ANR。在电子设备确定健康使用手机应用程序出现ANR(即应用程序无响应)的情况下,如图8中的(a)所示,电子设备可以显示第一界面,即健康使用手机应用程序对应的冻屏界面,在电子设备显示第一界面时,即用户无法在第一界面上进行操作。
如图8中的(a)所示,第一界面可以包括ANR提示窗01,即应用程序无响应提示窗,ANR提示窗01用于用户确认是否继续等待健康使用手机应用程序响应。ANR提示窗01可以包括“设置无响应。是否将其关闭”字样,以提示用户是否继续等待健康使用手机应用程序响应。该ANR提示窗01还可以包括两个选项,即“关闭应用”选项和“等待”选项。
当电子设备接收到用户对该ANR提示窗01中“关闭应用”选项的触发操作,如点击操作时,电子设备可以确定用户需要关闭该健康使用手机应用程序,从而电子设备可以直接关闭该健康使用手机应用程序。在电子设备关闭该健康使用手机应用程序之后,电子设备可以显示第二应用程序对应的界面,第二应用程序为在电子设备运行健康使用手机应用程序之前运行的应用程序。例如,第二应用程序可以为电子设备的桌面,从而用户可以通过电子设备的桌面选择打开其他的应用程序。
当电子设备接收到用户对该ANR提示窗01中“等待”选项的触发操作,如点击操作时,电子设备可以确定用户需要等待该健康使用手机应用程序响应,从而电子设备可以不关闭该健康使用手机应用程序,并继续等待该健康使用手机应用程序的响应。在电子设备确定用户需要等待该第一应用程序响应的情况下,如图8中的(b)所示,电子设备可以显示后台等待提示窗02,提示用户是否将该健康使用手机应用程序切换至后台,从而等待该健康使用手机应用程序响应。
例如,继续结合图7所示,电子设备显示第一界面,可以包括:在电子设备,如电子设备的活动管理服务确定第一应用程序出现ANR时,即电子设备的活动管理服务检测到ANR时,电子设备的活动管理服务可以调用电子设备的无响应对话模块,从而电子设备的无响应对话模块可以弹出ANR提示窗,即电子设备的无响应对话模块可以显示第一界面,第一界面可以为第一应用程序对应的冻屏界面。第一界面可以包括ANR提示窗,ANR提示窗用于用户确认是否继续等待第一应用程序响应。
S604、电子设备接收用户继续等待第一应用程序响应的第一操作。
在电子设备显示用于用户确认是否继续等待第一应用程序响应的ANR提示窗之后,用户可以选择继续等待第一应用程序响应,用户也可以选择关闭第一应用程序。
在电子设备接收到用户继续等待第一应用程序响应的操作的情况下,电子设备可以显示等待提示窗,从而提示用户是否将第一应用程序切换至后台等待响应。
在一些示例中,在ANR提示窗包括“关闭应用”选项和“等待”选项的情况下,当电子设备接收到用户对该ANR提示窗中“等待”选项的触发操作,如点击操作时,电子设备可以确定用户需要等待该第一应用程序响应,即电子设备接收用户继续等待第一应用程序响应的第一操作,从而电子设备可以不关闭该第一应用程序,并继续等待该第一应用程序的响应。在电子设备确定用户需要等待该第一应用程序响应的情况下,电子设备可以显示后台等待提示窗,从而提示用户是否将第一应用程序切换至后台,从而等待第一应用程序响应。
例如,继续结合图7所示,电子设备接收用户继续等待第一应用程序响应的第一操作,可以包括:在电子设备,如电子设备的无响应对话模块显示第一界面,第一界面为第一应用程序对应的冻屏界面,第一界面包括ANR提示窗,ANR提示窗用于用户确认是否继续等待第一应用程序响应时,电子设备的无响应对话模块可以接收用户继续等待第一应用程序响应的第一操作,即电子设备的无响应对话模块可以确定用户选择继续等待,等待第一应用程序响应。
S605、响应于第一操作,电子设备显示后台等待提示窗,后台等待提示窗用于用户确认是否将第一应用程序切换到后台。
在电子设备接收到用户继续等待第一应用程序响应的操作(即第一操作)的情况下,响应于第一操作,电子设备可以显示后台等待提示窗(即第二提示窗)。后台等待提示窗,可以用于用户确认是否将第一应用程序切换到后台。
需要说明的是,在电子设备接收到用户继续等待第一应用程序响应的操作(即第一操作)的情况下,电子设备可以继续显示第一界面,即电子设备可以继续显示第一应用程序对应的冻屏界面。第一界面可以包括用于用户确认是否将第一应用程序切换到后台的后台等待提示窗。
在电子设备接收到用户将第一应用程序切换到后台的操作的情况下,电子设备可以显示后台等待提示窗,电子设备可以将第一应用程序切换到后台,从而电子设备可以在后台等待第一应用程序的响应,即电子设备可以继续执行下述S604-S605。在电子设备接收到用户不将第一应用程序切换到后台的操作(即用户需要在电子设备在前台等待第一应用程序的响应)的情况下,电子设备可以显示第三界面,第三界面为第一应用程序在出现ANR时对应的界面,即第三界面可以为第一应用程序对应的冻屏界面,并在前台等待第一应用程序的响应,即电子设备可以继续执行下述S613-S614。
在一些示例中,后台等待提示窗可以包括“是否退到后台等待”字样,以提示用户是否将第一应用程序切换到电子设备的后台,在后台等待第一应用程序的响应。
后台等待提示窗还可以包括“是”选项和“否”选项。当电子设备接收到用户对该后台等待提示窗中“是”选项的触发操作,如点击操作时,电子设备可以确定用户需要将第一应用程序切换到后台,从而在电子设备的后台等待该第一应用程序的响应。
当电子设备接收到用户对该后台等待提示窗中“否”选项的触发操作,如点击操作时,电子设备可以确定用户不需要将该第一应用程序切换到后台,即电子设备可以确定用户需要在前台等待该第一应用程序的响应。
例如,继续以第一应用程序为电子设备中的健康使用手机应用程序为例。电子设备运行第一应用程序,即健康使用手机应用程序之后,在电子设备确定健康使用手机应用程序出现ANR的情况下,如图8中的(a)所示,电子设备可以显示第一界面,即健康使用手机应用程序对应的冻屏界面。第一界面可以包括ANR提示窗01,该ANR提示窗01可以包括两个选项,即“关闭应用”选项和“等待”选项。
当电子设备接收到用户对该ANR提示窗01中“等待”选项的触发操作,如点击操作时,电子设备可以确定用户需要等待该健康使用手机应用程序响应。在电子设备确定用户需要等待该第一应用程序响应的情况下,如图8中的(b)所示,电子设备可以显示后台等待提示窗02,提示用户是否将该健康使用手机应用程序切换至后台,从而等待该健康使用手机应用程序响应。
该后台等待提示窗02,可以包括“是否退到后台等待”字样,以提示用户是否将第一应用程序切换到电子设备的后台,在后台等待第一应用程序的响应。该后台等待提示窗02还可以包括“是”选项和“否”选项。
例如,继续结合图7所示,电子设备显示后台等待提示窗,后台等待提示窗用于用户确认是否将第一应用程序切换到后台,可以包括:在电子设备,如电子设备的无响应对话模块弹出ANR提示窗之后,电子设备的无响应对话模块可以接收用户继续等待第一应用程序响应的操作。在电子设备的无响应对话模块可以接收用户继续等待第一应用程序响应的操作(即第一操作)的情况下,电子设备的无响应对话模块可以调用后台等待对话模块,从而电子设备的后台等待对话模块可以弹出后台等待提示窗,即电子设备的后台等待对话模块可以显示后台等待提示窗,后台等待提示窗可以用于用户确认是否将第一应用程序切换到后台。
S606、电子设备接收用户将第一应用程序切换到后台的第二操作。
在电子设备显示用于用户确认是否将第一应用程序切换到后台的后台等待提示窗之后,用户可以选择将第一应用程序切换到后台,从而可以在电子设备的后台等待第一应用程序的响应。用户也可以选择不将第一应用程序切换到后台,从而可以在电子设备的前提继续等待第一应用程序的响应。
在电子设备接收到用户将第一应用程序切换到后台的操作(即第二操作)的情况下,电子设备可以将第一应用程序切换到后台,从而可以在电子设备的后台等待第一应用程序的响应。
在一些示例中,在后台等待提示窗包括“是”选项和“否”选项的情况下,当电子设备接收到用户对该后台等待提示窗中“是”选项的触发操作,如点击操作时,即电子设备接收用户将第一应用程序切换到后台的第二操作,电子设备可以确定用户需要将该第一应用程序切换到后台,从而可以在电子设备的后台等待第一应用程序的响应。
例如,继续结合图7所示,电子设备接收用户将第一应用程序切换到后台的第二操作,可以包括:在电子设备,如电子设备的后台等待对话模块显示用于用户确认是否将第一应用程序切换到后台的后台等待提示窗之后,电子设备,如电子设备的后台等待对话模块可以接收用户将第一应用程序切换到后台的第二操作,即电子设备的后台等待对话模块可以确定用户选择后台等待。在电子设备的后台等待对话模块确定用户选择后台等待之后,电子设备可以将第一应用程序切换到后台,从而在电子设备的后台等待第一应用程序的响应。
S607、响应于第二操作,电子设备将第一应用程序切换到后台,并显示第二界面。
在电子设备接收到用户将第一应用程序切换到后台的操作(即第二操作)的情况下,响应于第二操作,电子设备可以将第一应用程序切换到后台,并显示第二界面。第二界面可以为第二应用程序对应的界面。第二应用程序可以为在电子设备运行第一应用程序之前运行的应用程序。例如,第二应用程序可以为电子设备的桌面,第二应用程序也可以电子设备包括的其他应用程序。本申请实施例对此并不进行限定。
例如,继续以第一应用程序为电子设备中的健康使用手机应用程序,第二界面为电子设备的桌面为例。电子设备运行第一应用程序,即健康使用手机应用程序之后,在电子设备确定健康使用手机应用程序出现ANR的情况下,如图8中的(a)所示,电子设备可以显示第一界面,第一界面可以包括ANR提示窗01。
在电子设备确定用户需要等待该第一应用程序响应的情况下,即电子设备接收到用户对ANR提示窗01中的“等待”选项的触发操作,如图8中的(b)所示,电子设备显示后台等待提示窗02,提示用户是否将该健康使用手机应用程序切换至后台,从而等待该健康使用手机应用程序响应。
该后台等待提示窗02,可以包括“是否退到后台等待”字样,以提示用户是否将第一应用程序切换到电子设备的后台,在后台等待第一应用程序的响应。该后台等待提示窗02还可以包括“是”选项和“否”选项。
在电子设备确定用户需要将该第一应用程序切换到后台的情况下,即电子设备接收到用户对后台等待提示窗02中的“是”选项的触发操作,如图8中的(c)所示,电子设备可以将第一应用程序切换到后台,并显示第二界面,即电子设备可以显示桌面,从而用户可以通过电子设备的桌面打开其他应用程序。
例如,继续结合图7所示,电子设备将第一应用程序切换到后台,并显示第二界面,可以包括:在电子设备,如电子设备的后台等待对话模块显示用于用户确认是否将第一应用程序切换到后台的后台等待提示窗之后,电子设备,如电子设备的后台等待对话模块可以接收用户将第一应用程序切换到后台的第二操作,即电子设备的后台等待对话模块可以确定用户选择后台等待。
在电子设备的后台等待对话模块确定用户选择后台等待之后,电子设备的无响应对话模块,可以调用后台等待对话模块,从而后台等待对话模块可以弹出后台等待提示窗,从而恢复提示对话模块可以保存该第一应用程序的包名。在电子设备的恢复提示对话模块保存该第一应用程序的包名之后,恢复提示对话模块可以通过电子设备中的活动任务管理服务获取系统的任务栈,即通过活动任务管理服务获取电子设备的操作系统的任务栈。
在恢复提示对话模块获取到电子设备的操作系统的任务栈之后,恢复提示对话模块可以根据操作系统的任务栈,查找到次顶栈任务栈,次顶栈任务栈即第二应用程序对应的任务栈。第二应用程序可以为在电子设备运行第一应用程序之前运行的应用程序,如第二应用程序可以为电子设备的桌面应用程序对应的任务栈。
在恢复提示对话模块查找到次顶栈任务栈之后,电子设备的恢复提示对话模块可以调用电子设备的活动管理服务,从而活动管理服务可以将次顶栈任务栈移至前台显示。即电子设备的活动管理服务可以将第一应用程序切换到电子设备的后台,且电子设备的活动管理服务可以将第二应用程序切换到电子设备的前台,并显示第二应用程序对应的界面,如显示电子设备的桌面。
需要说明的是,在电子设备将第一应用程序切换到后台,并显示第二界面之后,电子设备可以在后台继续检测第一应用程序是否恢复。在第一应用程序恢复的情况下,电子设备可以显示恢复提示窗,从而可以提示用户是否将第一应用程序切换到前台,即恢复第一应用程序的显示。在第一应用程序没有恢复的情况下,电子设备可以继续显示第二界面,即第二应用程序对应的界面。
S608、在第一应用程序恢复的情况下,电子设备显示恢复提示窗,恢复提示窗用于提示用户是否将第一应用程序切换到前台。
在电子设备将第一应用程序切换到后台,并显示第二界面,即电子设备显示在第一应用程序之前运行的第二应用程序对应的界面之后,电子设备可以在后台继续检测第一应用程序是否恢复,即检测第一应用程序是否没有ANR。
在电子设备确定第一应用程序恢复(即第一应用程序恢复响应)的情况下,电子设备可以显示恢复提示窗。恢复提示窗可以用于提示用户是否将第一应用程序切换到前台。
需要说明的是,在电子设备确定第一应用程序恢复的情况下,电子设备可以继续显示第二界面,即电子设备可以继续显示第二应用程序对应的界面。第二界面可以包括用于提示用户是否将第一应用程序切换到前台的恢复提示窗。
在电子设备接收到用户将第一应用程序切换到前台的操作的情况下,电子设备可以显示第三界面,第三界面可以为第一应用程序在出现ANR时的界面,即电子设备可以继续执行下述S609-S610。在电子设备接收到用户不将第一应用程序切换到前台的操作(即用户不需要在前台显示第一应用程序)的情况下,电子设备可以继续显示第二界面,即电子设备可以继续执行下述S611-S612。
在一些示例中,恢复提示窗可以包括“第一应用程序已恢复,是否打开第一应用程序”字样,以提示用户是否将第一应用程序切换到电子设备的前台,从而显示第一应用程序对应的界面。
恢复提示窗还可以包括“是”选项和“否”选项。当电子设备接收到用户对该恢复提示窗中“是”选项的触发操作,如点击操作时,电子设备可以确定用户需要将第一应用程序切换到前台,从而电子设备可以将该第一应用程序从后台切换到前台。
当电子设备接收到用户对该恢复提示窗中“否”选项的触发操作,如点击操作时,电子设备可以确定用户不需要将该第一应用程序切换到前台,即电子设备可以确定用户不需要在前台显示该第一应用程序的界面。
例如,继续以第一应用程序为电子设备中的健康使用手机应用程序为例。电子设备运行第一应用程序,即健康使用手机应用程序之后,在电子设备确定健康使用手机应用程序出现ANR的情况下,电子设备可以显示ANR提示窗,ANR提示窗包括两个选项,即“关闭应用”选项和“等待”选项。当电子设备接收到用户对该ANR提示窗中“等待”选项的触发操作,如点击操作时,电子设备可以确定用户需要等待该健康使用手机应用程序响应。在电子设备确定用户需要等待该第一应用程序响应的情况下,电子设备可以显示后台等待提示窗,提示用户是否将该健康使用手机应用程序切换至后台,该后台等待提示窗还可以包括“是”选项和“否”选项。在电子设备接收到用户对该后台等待提示窗中“是”选项的触发操作,如点击操作时,电子设备可以确定用户需要将该健康使用手机应用程序切换到后台,并在后台等待该健康使用手机应用程序的响应。
在电子设备将该健康使用手机应用程序切换到后台之后,如图9中的(a)所示,电子设备可以显示第二界面,第二界面可以为电子设备的桌面。电子设备可以继续检测第一应用程序是否恢复,即检测第一应用程序是否没有ANR。之后,用户可以通过电子设备的桌面打开其他的应用程序。用户可以通过电子设备的桌面打开图库应用程序。
在电子设备显示图库应用程序对应的界面时,电子设备确定第一应用程序恢复的情况下,如图9中的(b)所示,电子设备可以显示恢复提示窗03,恢复提示窗03可以包括“第一应用程序已恢复,是否打开第一应用程序”字样,以提示用户是否将第一应用程序切换到电子设备的前台,从而显示第一应用程序对应的界面。恢复提示窗03还可以包括“是”选项和“否”选项。
当电子设备接收到用户对该恢复提示窗03中“是”选项的触发操作,如点击操作时,电子设备可以确定用户需要将第一应用程序切换到前台,从而电子设备可以将该第一应用程序从后台切换到前台。
当电子设备接收到用户对该恢复提示窗03中“否”选项的触发操作,如点击操作时,电子设备可以确定用户不需要将该第一应用程序切换到前台,即电子设备可以确定用户不需要在前台显示该第一应用程序的界面。
例如,继续结合图7所示,电子设备显示恢复提示窗,可以包括:在电子设备,如电子设备的活动管理服务在检测到Input类ANR应用程序恢复时,活动管理服务可以调用电子设备的输入调度模块,从而输入调度模块可以删除等待队列,即电子设备可以不执行等待队列中的进程。在输入调度模块删除等待队列之后,输入调度模块可以调用电子设备的恢复提示对话模块,从而恢复提示对话模块可以确定ANR应用程序(即第一应用程序)是否在电子设备的后台。在ANR应用程序(即第一应用程序)是否在电子设备的后台的情况下,恢复提示对话模块可以弹出恢复提示窗,从而用户可以选择恢复ANR应用程序。
在电子设备的活动管理服务在检测到服务、广播类ANR应用程序恢复时,活动管理服务可以进行服务、广播处理完成的回调。即活动管理服务可以调用输入调度模块,从而输入调度模块可以删除等待队列,即电子设备可以不执行等待队列中的进程。在输入调度模块删除等待队列之后,输入调度模块可以调用电子设备的恢复提示对话模块,从而恢复提示对话模块可以确定ANR应用程序(即第一应用程序)是否在电子设备的后台。在ANR应用程序(即第一应用程序)是否在电子设备的后台的情况下,恢复提示对话模块可以弹出恢复提示窗,从而用户可以选择恢复ANR应用程序。
S609、电子设备接收用户将第一应用程序切换到前台的第三操作。
在电子设备显示用于提示用户是否将第一应用程序切换到前台的恢复提示窗之后,用户可以选择将第一应用程序切换到前台,即电子设备可以显示第一应用程序对应的界面。
在电子设备接收到用户将第一应用程序切换到前台的操作(即第三操作)的情况下,电子设备可以将第一应用程序切换到前台,并显示第一应用程序对应的界面。
在一些示例中,在恢复提示窗包括“是”选项和“否”选项的情况下,当电子设备接收到用户对该恢复提示窗中“是”选项的触发操作,如点击操作时,即电子设备接收用户将第一应用程序切换到前台的第三操作,电子设备可以确定用户需要将该第一应用程序切换到前台,从而电子设备可以显示第一应用程序对应的界面。
例如,继续结合图7所示,电子设备接收用户将第一应用程序切换到前台的第三操作,可以包括:在电子设备,如电子设备的恢复提示对话模块接收到活动管理服务或者输入调度模块的调用之后,
电子设备的恢复提示对话模块可以确定ANR应用程序(即第一应用程序)是否在电子设备的后台。在ANR应用程序(即第一应用程序)是否在电子设备的后台的情况下,恢复提示对话模块可以弹出恢复提示窗,从而用户可以选择恢复ANR应用程序。在恢复提示对话模块可以接收到用户将第一应用程序切换到前台的第三操作。在恢复提示对话模块接收到用户将第一应用程序切换到前台的第三操作之后,电子设备可以将第一应用程序切换到前台,从而电子设备可以在前台显示第一应用程序对应的界面。
S610、响应于第三操作,电子设备将第一应用程序切换到前台,并显示第三界面。
在电子设备接收到用户将第一应用程序切换到前台的操作(即第三操作)的情况下,响应于第三操作,电子设备可以将第一应用程序切换到前台,并显示第三界面。第三界面可以为第一应用程序对应的界面。
在一些示例中,第三界面可以为第一应用程序在出现ANR时的界面。本申请实施例对此并不进行限定。
例如,继续以第一应用程序为电子设备中的健康使用手机应用程序。在健康使用手机应用程序出现ANR时,电子设备显示ANR提示窗。在用户通过ANR提示窗选择等待健康使用手机应用程序响应之后,电子设备显示后台等待提示窗。在用户通过后台等待提示窗选择后台等待健康使用手机应用程序响应之后,如图9中的(a)所示,电子设备可以显示桌面。在电子设备显示桌面之后,用户可以通过电子设备的桌面打开其他应用程序,如图库应用程序。即图库应用程序对应的界面为第二界面。
在电子设备显示图库应用程序对应的界面时,电子设备确定健康使用手机应用程序恢复的情况下,如图9中的(b)所示,电子设备可以显示恢复提示窗03,恢复提示窗03可以包括“第一应用程序已恢复,是否打开第一应用程序”字样,以提示用户是否将健康使用手机应用程序切换到电子设备的前台,从而显示健康使用手机应用程序对应的界面。恢复提示窗03还可以包括“是”选项和“否”选项。
当电子设备接收到用户对该恢复提示窗03中“是”选项的触发操作(即第三操作),如点击操作时,电子设备可以确定用户需要将第一应用程序切换到前台,如图9中的(c)所示,电子设备可以将该健康使用手机应用程序从后台切换到前台,即电子设备可以显示健康使用手机应用程序对应的界面,该界面可以是健康使用手机应用程序在出现ANR时的界面。
例如,继续结合图7所示,电子设备将第一应用程序切换到前台,并显示第三界面,可以包括:在电子设备,如电子设备的恢复提示对话模块显示用于用户确认是否将第一应用程序(即ANR应用程序)切换到后台的恢复提示窗,即恢复提示对话模块弹出恢复提示窗之后,电子设备,如电子设备的恢复提示对话模块可以接收用户将第一应用程序切换到前台的第三操作,即电子设备的恢复提示对话模块可以确定用户选择将第一应用程序切换到前台。
在电子设备的恢复提示对话模块确定用户选择将第一应用程序切换到前台之后,电子设备的恢复提示对话模块,可以通过电子设备的活动任务管理服务获取系统的任务栈,即通过活动任务管理服务获取电子设备的操作系统的任务栈。
在电子设备的恢复提示对话模块获取到电子设备的操作系统的任务栈之后,恢复提示对话模块可以根据第一应用程序的包名,在电子设备的操作系统的任务栈中获取到第一应用程序对应的任务栈。
在电子设备的恢复提示对话模块获取到第一应用程序的(即ANR应用程序)任务栈之后,恢复提示对话模块可以调用活动管理服务,从而将第一应用程序(即ANR应用程序)的任务栈移动至前台显示,即将第一应用程序切换到电子设备的前台,并显示第一应用程序对应的界面。
S611、电子设备接收用户不将第一应用程序切换到前台的第四操作。
在电子设备显示用于提示用户是否将第一应用程序切换到前台的恢复提示窗之后,用户可以选择不将第一应用程序切换到前台,即电子设备可以不显示第一应用程序对应的界面,电子设备可以继续显示第二界面,即电子设备可以继续显示第二应用程序对应的界面。第二应用程序即电子设备上除第一应用程序之外的其他应用程序,如电子设备的桌面应用程序或者其他应用程序。
在电子设备接收到用户不将第一应用程序切换到前台的操作(即第四操作)的情况下,电子设备可以继续显示第二界面,从而可以不将第一应用程序切换到前台。
在一些示例中,在恢复提示窗包括“是”选项和“否”选项的情况下,当电子设备接收到用户对该恢复提示窗中“否”选项的触发操作,如点击操作时,即电子设备接收用户将第一应用程序切不换到前台的第四操作,电子设备可以确定用户不需要将该第一应用程序切换到前台,从而电子设备可以继续显示第二界面。
S612、响应于第四操作,电子设备继续显示第二界面。
在电子设备接收到用户不将第一应用程序切换到前台的操作(即第四操作)的情况下,响应于第四操作,电子设备可以继续显示第二界面,从而电子设备可以不将第一应用程序切换到前台。
例如,继续以第一应用程序为电子设备中的健康使用手机应用程序。在健康使用手机应用程序出现ANR时,电子设备显示ANR提示窗。在用户通过ANR提示窗选择等待健康使用手机应用程序响应之后,电子设备显示后台等待提示窗。
在用户通过后台等待提示窗选择后台等待健康使用手机应用程序响应之后,如图9中的(a)所示,电子设备可以显示桌面。在电子设备显示桌面之后,用户可以通过电子设备的桌面打开其他应用程序,如图库应用程序。即图库应用程序对应的界面为第二界面。在电子设备显示图库应用程序对应的界面时,电子设备确定健康使用手机应用程序恢复的情况下,如图9中的(b)所示,电子设备可以显示恢复提示窗03,恢复提示窗03可以包括“第一应用程序已恢复,是否打开第一应用程序”字样,以提示用户是否将健康使用手机应用程序切换到电子设备的前台,从而显示健康使用手机应用程序对应的界面。恢复提示窗03还可以包括“是”选项和“否”选项。
当电子设备接收到用户对该恢复提示窗03中“否”选项的触发操作(即第四操作),如点击操作时,电子设备可以确定用户不需要将第一应用程序切换到前台,如图9中的(d)所示,电子设备可以不将该健康使用手机应用程序从后台切换到前台,即电子设备可以继续显示图库应用程序对应的界面。
S613、电子设备接收用户不将第一应用程序切换到后台的第五操作。
在电子设备显示用于用户确认是否将第一应用程序切换到后台的后台等待提示窗之后,用户可以选择不将第一应用程序切换到后台,从而可以在电子设备的前台继续等待第一应用程序的响应。
在电子设备接收到用户不将第一应用程序切换到后台的操作(即第五操作)的情况下,电子设备可以显示第三界面。第三界面可以为第一应用程序对应的界面(如第一应用程序对应的冻屏界面),即电子设备可以继续显示第一界面,从而电子设备可以不将第一应用程序切换到后台。即可以在电子设备的前台继续等待第一应用程序的响应。
在一些示例中,在后台等待提示窗包括“是”选项和“否”选项的情况下,当电子设备接收到用户对该后台等待提示窗中“否”选项的触发操作,如点击操作时,即电子设备接收用户不将第一应用程序切换到后台的第五操作,电子设备可以确定用户不需要将该第一应用程序切换到后台,电子设备可以显示第三界面,从而可以在电子设备的前台等待第一应用程序的响应。
S614、响应于第五操作,电子设备显示第三界面。
在电子设备接收到用户不将第一应用程序切换到后台的操作(即第五操作)的情况下,响应于第五操作,电子设备可以显示第三界面,从而电子设备可以不将第一应用程序切换到后台,即在电子设备的前提等待第一应用程序的响应。第三界面可以为第一应用程序对应的界面,如第一应用程序对应的冻屏界面。
例如,继续以第一应用程序为电子设备中的健康使用手机应用程序,第二界面为电子设备的桌面为例。电子设备运行健康使用手机应用程序之后,在电子设备确定健康使用手机应用程序出现ANR的情况下,如图8中的(a)所示,电子设备可以显示第一界面,即健康使用手机应用程序对应的冻屏界面。第一界面可以包括ANR提示窗01。
在电子设备确定用户需要等待该健康使用手机应用程序响应的情况下,即电子设备接收到用户对ANR提示窗01中的“等待”选项的触发操作,如图8中的(b)所示,电子设备显示后台等待提示窗02,提示用户是否将该健康使用手机应用程序切换至后台,从而等待该健康使用手机应用程序响应。
该后台等待提示窗02,可以包括“是否退到后台等待”字样,以提示用户是否将健康使用手机应用程序切换到电子设备的后台,在后台等待健康使用手机应用程序的响应。该后台等待提示窗02还可以包括“是”选项和“否”选项。
在电子设备确定用户不需要将该健康使用手机应用程序切换到后台的情况下,即电子设备接收到用户对后台等待提示窗02中的“否”选项的触发操作,如图8中的(d)所示,电子设备可以继续显示第一界面,即健康使用手机应用程序对应的冻屏界面,从而电子设备可以不将第一应用程序切换到后台,可以在电子设备的前台等待第一应用程序的响应。
S615、电子设备接收用户关闭第一应用程序的第六操作。
在电子设备显示用于用户确认是否继续等待第一应用程序响应的ANR提示窗之后,用户可以选择继续等待第一应用程序响应,用户也可以选择关闭第一应用程序,即用户也可以选择不继续等待第一应用程序的响应。
在电子设备接收到用户关闭第一应用程序响应的操作(即第六操作)的情况下,电子设备可以显示第四界面。第四界面可以为第二应用程序对应的界面。第二应用程序可以为在电子设备运行第一应用程序之前运行的应用程序,例如,第二应用程序可以为电子设备的桌面,第二应用程序也可以为电子设备包括的其他应用程序。
在一些示例中,在ANR提示窗包括“关闭应用”选项和“等待”选项的情况下,当电子设备接收到用户对该ANR提示窗中“关闭应用”选项的触发操作,如点击操作时,电子设备可以确定用户需要关闭第一应用程序,即电子设备接收用户关闭第一应用程序的第六操作,从而电子设备可以关闭该第一应用程序,并显示第四界面。
S616、响应于第六操作,电子设备显示第四界面,第四界面包括第一应用程序的标识。
在电子设备接收到用户关闭第一应用程序的操作(即第六操作)的情况下,响应于第六操作,电子设备可以显示第四界面。即电子设备可以显示在电子设备运行第一应用程序之前运行的第二应用程序对应的界面。
在一些示例中,第四界面,还可以包括第一应用程序的标识,从而可以通过第一应用程序的标识,电子设备可以打开并运行第一应用程序。即在电子设备接收用户对第一应用程序的标识的触发操作(即第七操作)时,作为响应,电子设备可以运行第一应用程序,并显示第三界面。第三界面为第一应用程序在出现ANR时对应的界面。
例如,继续以第一应用程序为电子设备中的健康使用手机应用程序为例。在电子设备运行健康使用手机应用程序之后,由于健康使用手机应用程序可能出现应用程序无响应,电子设备可以确定健康使用手机应用程序是否出现ANR。在电子设备确定健康使用手机应用程序出现ANR(即应用程序无响应)的情况下,如图10中的(a)所示,电子设备可以显示第一界面,即健康使用手机应用程序对应的冻屏界面,在电子设备显示第一界面时,即用户无法在第一界面上进行操作。
如图10中的(a)所示,第一界面可以包括ANR提示窗01,即应用程序无响应提示窗,ANR提示窗01用于用户确认是否继续等待健康使用手机应用程序响应。ANR提示窗01可以包括“设置无响应。是否将其关闭”字样,以提示用户是否继续等待健康使用手机应用程序响应。该ANR提示窗01还可以包括两个选项,即“关闭应用”选项和“等待”选项。
当电子设备接收到用户对该ANR提示窗01中“关闭应用”选项的触发操作,如点击操作时,电子设备可以确定用户需要关闭该健康使用手机应用程序,从而电子设备可以直接关闭该健康使用手机应用程序。在电子设备关闭该健康使用手机应用程序之后,如图10中的(b)所示,电子设备可以显示电子设备的桌面。在电子设备显示电子设备的桌面之后,用户可以通过电子设备的桌面打开其他应用程序,如图库应用程序(即第二应用程序)。在电子设备显示图库应用程序对应的界面之后,如图10中的(c)所示,电子设备可以显示该健康使用手机应用程序的标识04。
当电子设备接收到用户对该健康使用手机应用程序的标识04中“等待”选项的触发操作,如点击操作时,电子设备可以确定用户需要再次打开待该健康使用手机应用程序,如图10中的(d)所示,电子设备可以显示该健康使用手机应用程序对应的界面。
本申请的方案可以在用户通过ANR提示窗选择等待出现ANR的应用程序(即第一应用程序)响应时,电子设备可以提示用户是否需要后台等待,在用户选择后台等待时,电子设备可以显示电子设备的桌面,并将该出现ANR的应用程序切换至后台等待该出现ANR的应用程序响应,从而用户可以进行其他操作,如打开其他的应用程序,从而提高用户的体验。
且在该出现ANR的应用程序在电子设备的后台恢复(即该应用程序在后台恢复响应)后,电子设备可以提示用户该出现ANR的应用程序已恢复,并向用户提供该出现ANR的应用程序的打开方式,从而用户可以方便且快速的打开该出现ANR的应用程序,从而进一步提高用户的体验。
此外,在用户通过ANR提示窗选择关闭该出现ANR的应用程序时,电子设备可以显示电子设备的桌面或者其他的应用程序的界面,从而用户可以打开其他的应用程序。而在电子设备显示电子设备的桌面或者其他的应用程序的界面时,电子设备可以向用户提供该出现ANR的应用程序的打开方式,从而用户可以方便且快速的再次打开该出现ANR的应用程序,从而进一步提高用户的体验。
为了便于理解,下面结合附图11对本申请实施例提供的应用程序无响应处理方法进行说明。如图11所示,该应用程序无响应处理方法可以包括以下S1101-S1109。
S1101、电子设备运行第一应用程序,并显示第一界面。
电子设备可以包括第一应用程序和第二应用程序。在一些示例中,第二应用程序为电子设备在运行第一应用程序之前运行的应用程序。例如,第二应用程序可以为电子设备的桌面应用程序,第二应用程序也可以为电子设备的其他应用程序。本申请实施例中对此并不进行限定。
在电子设备运行第一应用程序之后,电子设备可以显示第一界面。第一界面,即第一应用程序对应的界面。
在电子设备运行第一应用程序之后,电子设备可以确定第一应用程序是否出现ANR,在第一应用程序出现ANR的情况下,电子设备可以显示用于用户确认是否等待第一应用程序恢复响应的提示窗,即电子设备可以执行S1102。
本申请实施例中电子设备运行第一应用程序,并显示第一界面,可以参考上述S601,本申请实施例在此不再赘述。
S1102、在电子设备确定第一应用程序出现应用程序无响应ANR的情况下,电子设备显示第一提示窗。
在电子设备运行第一应用程序之后,电子设备可以确定第一应用程序是否出现ANR,在第一应用程序出现ANR的情况下,电子设备可以显示第一提示窗。第一提示窗,即ANR提示窗,可以用于用户确认是否等待第一应用程序恢复响应。
在电子设备显示第一提示窗之后,用户可以通过第一提示窗,选择等待第一应用程序恢复响应。用户也可以通过第一提示窗,选择关闭第一应用程序。
本申请实施例中在电子设备确定第一应用程序出现应用程序无响应ANR的情况下,电子设备显示第一提示窗,可以参考上述S602-S603,本申请实施例在此不再赘述。
S1103、电子设备接收用户等待第一应用程序恢复响应的第一操作。
在电子设备显示第一提示窗之后,用户可以通过第一提示窗,选择等待第一应用程序恢复响应。即电子设备可以接收用户等待第一应用程序恢复响应的第一操作。
本申请实施例中在电子设备接收用户等待第一应用程序恢复响应的第一操作,可以参考上述S604,本申请实施例在此不再赘述。
S1104、响应于第一操作,电子设备显示第二提示窗。
在电子设备接收到用户继续等待第一应用程序响应的操作(即第一操作)的情况下,响应于第一操作,电子设备可以显示第二提示窗。
第二提示窗,可以为上述的后台等待提示窗。即第二提示窗,可以用于用户确认是否将第一应用程序切换到电子设备的后台。
在电子设备显示第二提示窗之后,用户可以通过第二提示窗,选择将第一应用程序切换到电子设备的后台,从而在电子设备的后台等待第一应用程序恢复响应。用户也可以通过第二提示窗,选择不将第一应用程序切换到后台,即在电子设备的前台继续等待第一应用程序恢复响应。
本申请实施例中响应于第一操作,电子设备显示第二提示窗,可以参考上述S605,本申请实施例在此不再赘述。
S1105、电子设备接收用户将第一应用程序切换到电子设备的后台的第二操作。
在电子设备显示第二提示窗之后,用户可以通过第二提示窗,选择将第一应用程序切换到电子设备的后台,从而在电子设备的后台等待第一应用程序恢复响应。即电子设备可以接收用户将第一应用程序切换到电子设备的后台的第二操作。
本申请实施例中电子设备接收用户将第一应用程序切换到电子设备的后台的第二操作,可以参考上述S606,本申请实施例在此不再赘述。
S1106、响应于第二操作,电子设备将第一应用程序切换到电子设备的后台,并显示第二界面。
在电子设备接收到用户将第一应用程序切换到电子设备的后台的操作(即第二操作)的情况下,响应于第二操作,电子设备可以将第一应用程序切换到电子设备的后台,并显示第二界面。
第二界面,可以为第二应用程序对应的界面。第二应用程序可以为电子设备在运行第一应用程序之前运行的应用程序。即在电子设备将第一应用程序切换到电子设备的后台之后,电子设备可以显示在运行第一应用程序之前运行的应用程序对应的界面。
例如,在第二应用程序为电子设备的桌面应用程序时,即电子设备先运行桌面应用程序,之后运行第一应用程序。在第一应用程序出现ANR,用户选择将第一应用程序切换到电子设备的后台时,电子设备可以将第一应用程序切换到电子设备的后台,从而在电子设备的后台继续等待第一应用程序恢复响应。同时,电子设备可以显示桌面应用程序对应的界面。
本申请实施例中响应于第二操作,电子设备将第一应用程序切换到电子设备的后台,并显示第二界面,可以参考上述S607,本申请实施例在此不再赘述。
S1107、在第一应用程序恢复响应的情况下,电子设备显示第三提示窗。
在电子设备将第一应用程序切换到电子设备的后台之后,电子设备可以确定第一应用程序是否恢复响应,即第一应用程序没有ANR。
在电子设备确定第一应用程序恢复响应的情况下,电子设备可以显示第三提示窗。第三提示窗,即上述的恢复提示窗。第三提示窗,可以用于提示用户是否将第一应用程序切换到电子设备的前台。
在电子设备显示第三提示窗之后,用户可以通过第三提示窗,选择将第一应用程序切换到电子设备的前台,从而电子设备可以运行第一应用程序,并显示第一应用程序对应的界面。用户也可以通过第三提示窗,选择不将第一应用程序切换到前台,即电子设备可以继续显示第二应用程序对应的界面,即上述的第二界面。
本申请实施例中在第一应用程序恢复响应的情况下,电子设备显示第三提示窗,可以参考上述S608,本申请实施例在此不再赘述。
S1108、电子设备接收用户将第一应用程序切换到电子设备的前台的第三操作。
在电子设备显示第三提示窗之后,用户可以通过第三提示窗,选择将第一应用程序切换到电子设备的前台,从而电子设备可以运行第一应用程序,并显示第一应用程序对应的界面。即电子设备可以接收用户将第一应用程序切换到电子设备的前台的第三操作。
本申请实施例中电子设备接收用户将第一应用程序切换到电子设备的前台的第三操作,可以参考上述S609,本申请实施例在此不再赘述。
S1109、响应于第三操作,电子设备将第一应用程序切换到电子设备的前台,并显示第三界面。
在电子设备接收到用户将第一应用程序切换到电子设备的前台的操作(即第三操作)的情况下,响应于第三操作,电子设备可以将第一应用程序切换到电子设备的前台,并显示第三界面。
第三界面可以为第一应用程序在出现ANR时对应的界面。即在电子设备第一应用程序切换到电子设备的前台之后,电子设备可以恢复显示第一应用程序的界面。
本申请实施例中响应于第三操作,电子设备将第一应用程序切换到电子设备的前台,并显示第三界面,可以参考上述S610,本申请实施例在此不再赘述。
本申请的方案,在第一应用程序出现ANR,用户通过ANR提示窗(即第一提示窗)选择等待第一应用程序恢复响应时,电子设备可以显示第二提示窗,即提示用户是否需要后台等待。在用户选择后台等待时,电子设备可以将第一应用程序(即出现ANR的应用程序)切换至后台等待第一应用程序恢复响应,且电子设备可以显示第二界面,即其他应用程序对应的界面,用户可以通过第二界面进行其他的操作,能够避免在用户通过ANR提示窗选择等待该应用程序响应时,用户无法通过电子设备进行其他的操作,从而提高用户的体检。
且在第一应用程序(即出现ANR的应用程序)在电子设备的后台恢复响应时,电子设备可以显示第三提示窗,即提示用户是否将该第一应用程序切换到电子设备的前台。在用户需要将第一应用程序切换到电子设备的前台时,电子设备可以将第一应用程序切换到电子设备的前台,并显示第三界面,即为第一应用程序在出现ANR时对应的界面,从而使用户可以方便且快速的打开第一应用程序,进一步提高用户的体验。
对应于前述实施例中的方法,本申请实施例还提供一种应用程序无响应处理装置。该应用程序无响应处理装置可以应用于电子设备,用于实现前述实施例中的方法。该应用程序无响应处理装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
例如,图12示出了一种应用程序无响应处理装置1200的结构示意图,如图12所示,该应用程序无响应处理装置1200可以包括:运行模块1201、显示模块1202、接收模块1203和切换模块1204等。
其中,运行模块1201,可以用于运行第一应用程序。
显示模块1202,可以用于显示第一界面,第一界面为第一应用程序对应的界面。
显示模块1202,还可以用于在电子设备确定第一应用程序出现应用程序无响应ANR的情况下,显示第一提示窗,第一提示窗用于用户确认是否等待第一应用程序恢复响应。
接收模块1203,可以用于接收用户等待第一应用程序恢复响应的第一操作。
显示模块1202,还可以用于响应于第一操作,电子设备显示第二提示窗,第二提示窗用于用户确认是否将第一应用程序切换到电子设备的后台。
接收模块1203,还可以用于接收用户将第一应用程序切换到电子设备的后台的第二操作。
切换模块1204,还可以用于响应于第二操作,将第一应用程序切换到电子设备的后台。
显示模块1202,还可以用于显示第二界面,第二界面为第二应用程序对应的界面。
在一种可能的实现方式中,显示模块1202,还可以用于在第一应用程序恢复响应的情况下,显示第三提示窗,第三提示窗用于提示用户是否将第一应用程序切换到电子设备的前台。
接收模块1203,还可以用于接收用户将第一应用程序切换到电子设备的前台的第三操作。
切换模块1204,还可以用于响应于第三操作,将第一应用程序切换到电子设备的前台。
显示模块1202,还可以用于显示第三界面;第三界面为第一应用程序在出现ANR时对应的界面。
在一种可能的实现方式中,接收模块1203,还可以用于接收用户不将第一应用程序切换到电子设备的前台的第四操作。
显示模块1202,还可以用于响应于第四操作,电子设备继续显示第二界面。
在一种可能的实现方式中,接收模块1203,还可以用于接收用户不将第一应用程序切换到电子设备的后台的第五操作。
显示模块1202,还可以用于响应于第五操作,显示第三界面,第三界面为第一应用程序在出现ANR时对应的界面。
在一种可能的实现方式中,接收模块1203,还可以用于接收用户关闭第一应用程序的第六操作。
显示模块1202,还可以用于响应于第六操作,显示第四界面,第四界面包括第一应用程序的标识。
在一种可能的实现方式中,接收模块1203,还可以用于接收用户对第一应用程序的标识的第七操作。
运行模块1201,还可以用于响应于第七操作,运行第一应用程序。
显示模块1202,还可以用于显示第三界面;第三界面为第一应用程序在出现ANR时对应的界面。
在一种可能的实现方式中,显示模块1202,还可以用于在电子设备确定第一应用程序没有出现ANR的情况下,继续显示第一界面。
在一种可能的实现方式中,第二应用程序为电子设备在运行第一应用程序之前运行的应用程序。
应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。
例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或这些集成电路形式中至少两种的组合。
再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如CPU或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统SOC的形式实现。
在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例所述的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。
在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例所述的方法。
例如,本申请实施例还可以提供一种装置,如:电子设备,可以包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如前述实施例所述的应用程序无响应处理方法。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。
在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件可以设置于对应上述的电子设备上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
例如,本申请实施例还提供一种芯片,该芯片可以应用于上述电子设备。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现以上方法实施例中所述的方法。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备可以实现如上述的应用程序无响应处理方法。
本申请实施例还提供一种计算机程序产品,包括如上述电子设备运行的计算机指令,当计算机指令在电子设备中运行时,使得电子设备实可以现如上述的应用程序无响应处理方法。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
例如,本申请实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如前述方法实施例中所述的应用程序无响应处理方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种应用程序无响应处理方法,其特征在于,应用于电子设备,所述电子设备包括第一应用程序和第二应用程序,所述方法包括:
所述电子设备运行所述第一应用程序,并显示第一界面,所述第一界面为所述第一应用程序对应的界面;
在所述电子设备确定所述第一应用程序出现应用程序无响应ANR的情况下,所述电子设备显示第一提示窗,所述第一提示窗用于用户确认是否等待所述第一应用程序恢复响应;
所述电子设备接收用户等待所述第一应用程序恢复响应的第一操作;
响应于所述第一操作,所述电子设备显示第二提示窗,所述第二提示窗用于用户确认是否将所述第一应用程序切换到所述电子设备的后台;
所述电子设备接收用户将所述第一应用程序切换到所述电子设备的后台的第二操作;
响应于所述第二操作,所述电子设备将所述第一应用程序切换到所述电子设备的后台,并显示第二界面,所述第二界面为所述第二应用程序对应的界面。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一应用程序恢复响应的情况下,所述电子设备显示第三提示窗,所述第三提示窗用于提示用户是否将所述第一应用程序切换到所述电子设备的前台;
所述电子设备接收用户将所述第一应用程序切换到所述电子设备的前台的第三操作;
响应于所述第三操作,所述电子设备将所述第一应用程序切换到所述电子设备的前台,并显示第三界面;所述第三界面为所述第一应用程序在出现ANR时对应的界面。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述电子设备接收用户不将所述第一应用程序切换到所述电子设备的前台的第四操作;
响应于所述第四操作,所述电子设备继续显示所述第二界面。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述电子设备接收用户不将所述第一应用程序切换到所述电子设备的后台的第五操作;
响应于所述第五操作,所述电子设备显示第三界面,所述第三界面为所述第一应用程序在出现ANR时对应的界面。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述电子设备接收用户关闭所述第一应用程序的第六操作;
响应于所述第六操作,所述电子设备显示第四界面,所述第四界面包括所述第一应用程序的标识。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述电子设备接收用户对所述第一应用程序的标识的第七操作;
响应于所述第七操作,所述电子设备运行所述第一应用程序,并显示第三界面;所述第三界面为所述第一应用程序在出现ANR时对应的界面。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述电子设备确定所述第一应用程序没有出现ANR的情况下,所述电子设备继续显示所述第一界面。
8.根据权利要求1所述的方法,其特征在于,所述第二应用程序为所述电子设备在运行所述第一应用程序之前运行的应用程序。
9.一种电子设备,其特征在于,所述电子设备包括处理器,用于存储所述处理器可执行指令的存储器;所述处理器被配置为执行所述指令时,使得所述电子设备实现如权利要求1至8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令;其特征在于,
当所述计算机程序指令被电子设备执行时,使得电子设备实现如权利要求1至8中任一项所述的方法。
CN202210821936.5A 2022-07-13 2022-07-13 一种应用程序无响应处理方法及电子设备 Active CN114896097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210821936.5A CN114896097B (zh) 2022-07-13 2022-07-13 一种应用程序无响应处理方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210821936.5A CN114896097B (zh) 2022-07-13 2022-07-13 一种应用程序无响应处理方法及电子设备

Publications (2)

Publication Number Publication Date
CN114896097A true CN114896097A (zh) 2022-08-12
CN114896097B CN114896097B (zh) 2023-06-13

Family

ID=82730266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210821936.5A Active CN114896097B (zh) 2022-07-13 2022-07-13 一种应用程序无响应处理方法及电子设备

Country Status (1)

Country Link
CN (1) CN114896097B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117724634A (zh) * 2023-07-31 2024-03-19 荣耀终端有限公司 一种应用程序的进程管理方法和装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100272284A1 (en) * 2009-04-28 2010-10-28 Marcel Joho Feedforward-Based ANR Talk-Through
EP3163411A1 (en) * 2015-10-30 2017-05-03 Xiaomi Inc. Method, device and apparatus for application switching
CN107678876A (zh) * 2017-09-28 2018-02-09 努比亚技术有限公司 冻屏监测与解决方法、移动终端及计算机可读存储介质
WO2018127063A1 (zh) * 2017-01-06 2018-07-12 腾讯科技(深圳)有限公司 应用数据处理的方法、装置及存储介质
CN110489215A (zh) * 2019-06-29 2019-11-22 华为技术有限公司 一种应用程序中等待场景的处理方法和装置
CN110825301A (zh) * 2019-09-25 2020-02-21 华为技术有限公司 一种界面切换方法及电子设备
CN111459715A (zh) * 2019-01-20 2020-07-28 华为技术有限公司 应用异常恢复
CN112445276A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 一种折叠屏显示应用方法及电子设备
CN113127113A (zh) * 2019-12-31 2021-07-16 深圳Tcl数字技术有限公司 一种操作指令的响应方法和计算机设备
CN114443156A (zh) * 2021-12-24 2022-05-06 荣耀终端有限公司 一种应用程序的处理方法及电子设备
CN114489917A (zh) * 2022-04-06 2022-05-13 荣耀终端有限公司 应用程序异常退出的处理方法、电子设备和可读存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100272284A1 (en) * 2009-04-28 2010-10-28 Marcel Joho Feedforward-Based ANR Talk-Through
EP3163411A1 (en) * 2015-10-30 2017-05-03 Xiaomi Inc. Method, device and apparatus for application switching
WO2018127063A1 (zh) * 2017-01-06 2018-07-12 腾讯科技(深圳)有限公司 应用数据处理的方法、装置及存储介质
CN107678876A (zh) * 2017-09-28 2018-02-09 努比亚技术有限公司 冻屏监测与解决方法、移动终端及计算机可读存储介质
CN111459715A (zh) * 2019-01-20 2020-07-28 华为技术有限公司 应用异常恢复
CN110489215A (zh) * 2019-06-29 2019-11-22 华为技术有限公司 一种应用程序中等待场景的处理方法和装置
CN112445276A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 一种折叠屏显示应用方法及电子设备
CN110825301A (zh) * 2019-09-25 2020-02-21 华为技术有限公司 一种界面切换方法及电子设备
CN113127113A (zh) * 2019-12-31 2021-07-16 深圳Tcl数字技术有限公司 一种操作指令的响应方法和计算机设备
CN114443156A (zh) * 2021-12-24 2022-05-06 荣耀终端有限公司 一种应用程序的处理方法及电子设备
CN114489917A (zh) * 2022-04-06 2022-05-13 荣耀终端有限公司 应用程序异常退出的处理方法、电子设备和可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117724634A (zh) * 2023-07-31 2024-03-19 荣耀终端有限公司 一种应用程序的进程管理方法和装置

Also Published As

Publication number Publication date
CN114896097B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
CN111625431B (zh) 一种日志信息生成方法、装置及电子设备
CN113722027A (zh) 一种通知消息的显示方法及电子设备
CN114554005B (zh) 一种通知消息的管理方法及电子设备
US12019942B2 (en) Multi-screen collaboration method and system, and electronic device
US20220358089A1 (en) Learning-Based Keyword Search Method and Electronic Device
CN113805797B (zh) 网络资源的处理方法、电子设备及计算机可读存储介质
CN114527901A (zh) 一种文件拖拽方法及电子设备
CN115623118B (zh) 一种近场通信控制方法及电子设备
CN113791850A (zh) 一种信息显示方法及电子设备
CN115016706B (zh) 一种线程的调度方法及电子设备
CN114896097B (zh) 一种应用程序无响应处理方法及电子设备
WO2021042881A1 (zh) 消息通知方法及电子设备
CN116679900B (zh) 一种音频业务处理方法、固件去加载方法及相关装置
EP4365722A1 (en) Method for displaying dock bar in launcher and electronic device
CN115391771B (zh) 弹窗拦截方法、装置、电子设备及可读存储介质
CN116700855B (zh) 一种界面显示方法及电子设备
WO2023045774A1 (zh) 显示方法及电子设备
CN115828227B (zh) 识别广告弹窗的方法、电子设备及存储介质
CN117009023B (zh) 显示通知信息的方法及相关装置
WO2023207683A1 (zh) 应用压缩方法、解压缩方法及电子设备
WO2023061014A1 (zh) 任务管理方法及装置
CN117978907A (zh) 一种数据处理方法、电子设备及介质
CN117724640A (zh) 分屏显示方法、电子设备及存储介质
CN117632329A (zh) 显示方法、存储介质及电子设备
CN116700855A (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