《恢复应用和/或使应用免于中止.pdf》由会员分享,可在线阅读,更多相关《恢复应用和/或使应用免于中止.pdf(16页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103049339 A(43)申请公布日 2013.04.17CN103049339A*CN103049339A*(21)申请号 201210328979.6(22)申请日 2012.09.0713/229,574 2011.09.09 USG06F 11/00(2006.01)(71)申请人微软公司地址美国华盛顿州(72)发明人 B.S.斯劳尔 M.H.克劳斯R.K.尼夫斯 A.U.基尚H.普拉帕卡 D.B.普罗伯特Z.A.波曾(74)专利代理机构中国专利代理(香港)有限公司 72001代理人李舒 汪扬(54) 发明名称恢复应用和/或使应用免于中止(57) 摘要运算。
2、装置上仅特定数量的应用在任何给定时间是启用的,未启用的应用被中止。应用策略以确定何时要中止应用。然而,操作系统组件可以使得特定应用免于中止(例如,由于该应用正执行操作)。另外,操作系统组件可以使中止了的应用被恢复(例如,由于另一应用期望与该中止的应用通信)。(30)优先权数据(51)Int.Cl.权利要求书1页 说明书10页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 1 页 说明书 10 页 附图 4 页1/1页21. 一种方法,包括:从运算装置上运行的操作系统组件接收(302)请求,该请求用以使运算装置上运行的多个应用中的一个应用免于由于该多个应用不满足策略。
3、而中止;以及响应于该请求使所述一个应用免于(304)在运算装置上中止。2.如权利要求1所述的方法,响应于操作系统组件确定所述一个应用正执行允许继续的操作而接收请求。3.如权利要求1所述的方法,免除包括免除所述一个应用一个时间量,以及在该时间量逝去之后允许中止这一个应用。4.如权利要求3所述的方法,所述时间量取决于所述请求的免除类,其中,不同免除类具有不同的时间量。5.如权利要求1所述的方法,进一步包括允许响应于事件的出现而中止这一个应用。6. 一种运算装置,包括一个或更多个处理器(502);以及一个或更多个计算机可读介质(504),其上存储的多个指令在通过一个或更多个处理器执行时使得这一个或更。
4、多个处理器执行的动作包括:从运算装置上运行的操作系统组件接收(402)请求,该请求用以恢复由于运算装置不再显示应用的用户界面而中止了的应用的执行;以及响应于所述请求恢复(404)该应用的执行。7.如权利要求6所述的运算装置,响应于操作系统组件确定期望与所述应用通信而接收请求。8.如权利要求6所述的运算装置,所述动作进一步包括响应于该请求使所述应用免于在运算装置上中止。9.如权利要求8所述的运算装置,免除包括免除应用直到从操作系统组件接收到用于请求恢复应用执行的原因不再存在的通知为止,允许响应于该通知而中止应用。10.如权利要求8所述的运算装置,免除包括免除所述应用一个时间量,以及在该时间量逝去。
5、之后允许中止应用。权 利 要 求 书CN 103049339 A1/10页3恢复应用和 / 或使应用免于中止背景技术0001 许多运算装置可以同时运行多个程序,一些由用户使用,其它在后台中运行或准备由用户使用。同时运行多个程序通常允许用户在他或她期望使用的程序之间迅速切换,但是并非没有它的问题。一个这种问题是这多个程序往往包括后台中运行的、向用户提供少量(如果有的话)值、以及用户不见得很快在任何时间使用的程序。这些程序会使用显著量的资源(如,处理器时间、存储器等),这会导致不必要地使用能量和缩减电池供电运算装置的电池寿命。然而阻止多个程序同时运行会由于需要重新启动程序而降低用户预期的响应性和功。
6、能性。发明内容0002 提供此发明内容以介绍下面在具体实施方式中进一步描述的简化形式的概念的选择。此发明内容并非意在识别要求保护主题的关键特征或必要特征,它也并非意在用来限制要求保护主题的范围。0003 按照一个或更多个方面,接收用以使运算装置上运行的多个应用之一免于由于该多个应用不满足策略而被中止的请求。从运算装置上运行的操作系统组件接收请求。响应于请求,使这一个应用免于在运算装置上中止。0004 按照一个或更多个方面,接收用以恢复由于运算装置不再显示应用的用户界面而中止了的应用的执行的请求。从运算装置上运行的操作系统组件接收该请求。响应于该请求,恢复应用的执行。附图说明0005 整个附图使。
7、用同样标记引用相似特征。0006 图1是示例了按照一个或更多个实施例实施恢复应用和/或使应用免于中止的实例运算装置的方框图。0007 图2示例了按照一个或更多个实施例实施恢复应用和/或使应用免于中止的实例系统。0008 图3是示例了按照一个或更多个实施例实施恢复应用和/或使应用免于中止的装置的实例过程的流程图。0009 图4是示例了按照一个或更多个实施例实施恢复应用和/或使应用免于中止的装置的另一实例过程的流程图。0010 图5示例了按照一个或更多个实施例可以被配置成实施恢复应用和/或使应用免于中止的实例运算装置。具体实施方式0011 在本文中讨论恢复应用和/或使应用免于中止。可以同时启动和向。
8、运算装置的存储器中加载多个应用,但是仅特定数量的这些应用(例如,一个或两个)在任何给定时间是说 明 书CN 103049339 A2/10页4启用的(active)。中止未启用的应用,这是指这些应用不能使用处理器。应用策略以确定何时要中止应用。然而,操作系统组件可以使得特定应用免于中止(例如,由于该应用正执行操作)。另外,操作系统组件可以使得中止了的应用被恢复(例如,由于另一应用期望与该中止的应用通信)。0012 中止而非终止应用解决了关于使得不必要的应用在后台中运行的各种问题。取消程序的中止而非重新启动它常常较快速和较高效,但是在中止它的情况下阻止它执行和消耗能量或干扰用户正使用的应用。然而。
9、,在确定何时可中止应用、以及何时应当终止而非中止应用的过程中仍有技术挑战。可以至少部分地通过观测和修改系统针对特定应用和/或应用类别所维持的策略而做出这些确定。0013 图1是示例了按照一个或更多个实施例实施恢复应用和/或使应用免于中止的实例运算装置100的方框图。运算装置100可以是各种不同类型的装置。例如,运算装置100可以是膝上型或上网本计算机、平板或笔记本计算机、桌面计算机、服务器计算机、移动台、娱乐装备、以通信方式耦合到显示装置的机顶盒、电视机或其它显示装置、蜂窝或其它无线电话、游戏控制台、车载计算机等。因而,运算装置100的范围可以从存储器和处理器资源可观的全资源装置(例如,个人计。
10、算机、游戏控制台)到存储器和/或处理资源有限的低资源装置(例如,传统机顶盒、手持游戏控制台)。0014 运算装置100包括操作系统102和一个或更多个应用104。在操作期间,操作系统102和应用104在运算装置100上运行,操作系统102管理应用104。应用104的管理可以如下面更详细讨论的,包括自动终止一个或更多个应用104。0015 操作系统102包括应用管理模块114、系统响应性分析模块116、应用寿命管理模块118、应用终止模块120、策略评估模块122、以及应用中止模块124。虽然作为操作系统102的一部分示例了模块114124,但可替选地可以与操作系统102分开实施模块114124。
11、中的一个或更多个。另外,应当注意,可以把模块114124中的一个或更多个提供的功能分开到多个模块中,和/或把模块114124中的两个或更多个提供的功能中的至少一些功能组合到单个模块中。此外,虽然示例了模块114124,但应当注意,操作系统102可以包括提供各种额外功能的各种额外模块。0016 在本文中作为相互通知或传达各种指示或信息讨论操作系统102的各种模块。应当注意,这种通知或传达可以采取各种形式。例如,一个模块可以调用另一模块的应用编程接口(API),一个模块可以上报另一模块已注册以接收的事件,一个模块可以在另一模块可以获取数据或信息的地点中存储数据或其它信息,等等。0017 应用管理模。
12、块114监测或如若不然获知哪些应用104正在任何给定时间在运算装置100上运行,包括启用的和未启用的应用。启用的应用是指当前正被调度以便通过运算装置100的一个或更多个处理器执行的应用和因而正被分配处理器时间以便执行的应用。未启用的应用是指并非当前正被调度以便通过运算装置100的一个或更多个处理器执行的应用和因而未被分配处理器时间以便执行的应用。应用104可以如下面更详细讨论的被加载到运算装置100的存储器中但作为未启用的应用。0018 应用管理模块114还监测或如若不然获知在任何给定时间哪些应用104正在被使用。通常,在运算装置100正在特定时间显示或如若不然呈现应用104的用户界面和/或运。
13、算装置100的用户正在该特定时间向该应用提供用户输入的情况下,该应用104在该特说 明 书CN 103049339 A3/10页5定时间正被使用。模块114可以通过各种不同方式确定哪些应用104在任何给定时间正被使用。例如,模块114可以在当前正在显示装置(其作为运算装置100的一部分或耦合到运算装置100)上显示窗口(应用104在所述窗口中显示用户界面)的情况下确定当前正使用该应用104,在窗口(应用104在其中显示用户界面)是显示装置(其作为运算装置100的一部分或耦合到运算装置100)上正显示的顶层或最高层窗口的情况下确定当前正使用应用104,在未把窗口(应用104在其中显示用户界面)最。
14、小化的情况下确定当前正使用应用104,等等。也可以在正在特定时间使用的另一应用正与应用通信的情况下把该应用称作在特定时间使用。例如,在该应用104正与另一应用104通信、该另一应用104显示作为正在显示装置(其作为运算装置100的一部分或耦合到运算装置100)上显示的顶层或最高层窗口的用户界面的情况下,模块114可以确定当前正使用应用104。0019 在一个或更多个实施例中,操作系统102允许在任何给定时间显示特定数量的窗口(例如,一个或两个)。应用104在这种窗口内显示它们的用户界面,因而仅特定数量的应用104可以在任何给定时间显示它们的用户界面。在任何特定时间,把作为运算装置100的一部分。
15、或耦合到运算装置100的显示装置上正在显示用户界面的应用104确定成是运算装置100的用户当前正在该特定时间使用的应用104。以及,把作为运算装置100的一部分或耦合到运算装置100的显示装置上未正在显示用户界面的应用104确定成是运算装置100的用户并非在该特定时间当前正使用的应用104。0020 应用寿命管理模块118控制操作系统102应用的策略以确定哪些应用104可以执行。此策略可以表明如何确定应用104在任何给定时刻是启用还是未启用,如何确定要终止哪个应用104,可以在任何给定时间显示多少窗口,等等。模块118可以通过各种不同方式获得策略,如,通过策略预配置,从运算装置100的用户(例。
16、如,经由各种优选或配置设置)接收策略,从运算装置100的另一模块或从另一运算装置接收策略,从网络(例如,经由网络从另一装置或业务)接收策略,等等。0021 策略评估模块122确定应用104是否正满足操作系统102应用的策略。策略评估模块122与应用管理模块114通信以确定正在任何给定时间使用哪些应用104。基于此确定和策略,模块122确定应用104是否正满足策略。例如,如果策略表明未正在被使用的应用为未启用(inactive),以及如果未正在被运算装置100的用户使用的一个或更多个应用在特定时间是启用的,则模块122确定应用104在该特定时间并不满足策略。0022 响应于确定应用104不满足策。
17、略,策略评估模块122确定一个或更多个应用104中止以使得应用104满足策略。中止应用是指使得应用未启用。策略评估模块122基于正使用哪些应用104的确定和策略来确定哪一个或更多个应用104中止。例如,如果策略表明未正被使用的应用为未启用的,以及如果未正被使用的一个或更多个应用在特定时间是启用的,则模块122确定未正被使用但却是启用的应用104是要中止的一个或更多个应用104。0023 应用中止模块124从策略评估模块122接收一个或更多个应用104要中止的指示。响应于用以中止一个或更多个应用104的指示,策略中止模块124中止指示的一个或更多个应用104。通过把要中止它通知应用来中止应用。可。
18、选地为应用给出用以保存应用认定要在中止以前保存的数据和/或状态信息的时间量(例如,1秒或4秒)。应用向非易失性或其它永久存储装置存储数据和/或状态信息,以允许后续获取数据和/或状态信息(即说 明 书CN 103049339 A4/10页6使在终止应用的情况下)。中止应用是指把应用从启用改变为未启用。运算装置100的处理器如以上所讨论的不执行未启用的应用(也称作中止的应用)。可以通过不同方式中止应用,如,通过调用操作系统102的API以中止应用。0024 应当注意,一旦中止,应用可以在后续变成启用。例如,可以从用户接收表明他或她期望使用应用的用户输入。如果该应用未启用,则响应于使用应用的用户请求。
19、使得应用启用,运算装置100的一个或更多个处理器执行该应用。也把使中止的应用成为启用的应用称作恢复应用。一旦再次启用,应用恢复执行,对于应用酌情复原保存的状态。0025 系统响应性分析模块116使用关于存储器使用的各种尺度中的一个或更多个尺度确定是否终止一个或更多个应用104。例如,系统响应性分析模块116可以基于如下内容确定要终止一个或更多个应用104:指代分配给应用104的存储量的存储器加载尺度、指代在任何给定时间可用的物理存储量的可用物理存储器尺度、指代存储页面的存储装置上可用存储空间量的可用页面文件空间尺度、指代操作系统102的存储器管理器维持的备用列表上页面平均寿命的备用列表上平均寿。
20、命尺度、等等。系统响应性分析模块116响应于确定要终止一个或更多个应用104通知应用终止模块120终止一个或更多个应用104。0026 应用终止模块120响应于用以终止一个或更多个应用104的来自系统响应性分析模块116的通知确定一个或更多个应用104终止。可以通过不同方式终止应用,如,通过调用操作系统102的API以终止应用。在一个或更多个实施例中,模块120选择终止已经中止了的一个或更多个应用104和终止选择的一个或更多个应用104。应用终止模块120可以通过各种方式确定哪些特定应用104终止,如,基于应用104中的每个被多近地使用过、如何频繁地使用应用104中的每个、应用104使用的存储。
21、量、等等。0027 可替选地,并非终止应用,应用终止模块120可以向二级存储器(如,硬盘或闪存装置)中移动出自初级存储器的应用。模块120可以通过与如以上所讨论的哪些特定应用104终止的确定相似的各种方式来确定哪些特定应用104移动。可以通过不同方式移动应用104,如,通过调用操作系统102的API移动应用、把应用使用的存储器页面复制到二级存储装置、等等。0028 应用寿命管理模块118还可以接收用以使应用104免于中止的来自操作系统102另一模块或组件的请求。例如由操作系统102的模块或组件做出这种请求,该模块或组件获知尚未完结的应用104正执行操作(例如,回放音频内容、打印文档、等等)。响。
22、应于用以使特定应用免于中止的请求,应用寿命管理模块118把在确定哪一个或更多个应用104中止时并非要中止该特定应用通知策略评估模块122。使应用免于中止是指阻止应用中止在如若不然(缺少使应用免于中止的请求)将会中止应用的情况下,用以使应用免于中止的请求阻止了该应用的中止。0029 应用寿命管理模块118还可以接收用以恢复中止应用104的执行的来自操作系统102另一模块或组件的请求。例如由操作系统102的模块或组件做出这种请求,其获知应用104期望与中止的应用通信。响应于用以恢复中止应用的执行的请求,应用寿命管理模块118恢复该应用。可以通过不同方式恢复应用,如,通过调用操作系统102的API以。
23、恢复应用。应用寿命管理模块118还可以通过使得终止的应用重新启动(例如,通过调用操作系统102的API以重新启动应用)、以及随后恢复该应用来恢复终止的应用。0030 图2示例了按照一个或更多个实施例实施恢复应用和/或使应用免于中止的实例说 明 书CN 103049339 A5/10页7系统200。可以通过例如图1的运算装置100实施系统200。系统200包括可以是图1的应用寿命管理模块118的应用寿命管理模块202。系统200还包括通信层204、一个或更多个操作系统(OS)组件206、一个或更多个操作系统(OS)组件208、以及一个或更多个应用210。应用210可以是例如图1的应用104。OS。
24、组件206、208是操作系统(例如,图1的操作系统102)的各种组件或模块。通信层204允许操作系统组件206、208向应用寿命管理模块202传达请求。这些请求包括用以恢复中止应用的执行的请求和用以使应用免于中止的请求。虽然可以可替选地使用其它通信机制,但作为寿命接口API 212或异步通信机制214示例了通信层204。应当注意,通常向操作系统组件206、而并非向应用210显露通信层204。因此,操作系统组件206、208可以基于应用210的请求或动作经由通信层204向模块202提交请求,但是应用210本身无法经由通信层204与模块202直接通信。0031 一些OS组件206使用寿命接口API。
25、 212与模块202通信,其它OS组件208使用异步通信机制214与模块202通信。OS组件如何与模块202通信可以通过不同方式确定,以及可以是OS组件开发者方面的设计选择。在一个或更多个实施例中,基于操作系统组件正在用户模式还是内核模式中运行来确定操作系统组件与模块202通信的方式。例如,如果操作系统组件正在内核模式中运行则操作系统使用异步通信机制214与模块202通信,如果操作系统组件正在用户模式中运行则操作系统组件使用寿命接口API 212与模块202通信。0032 寿命接口API 212显露操作系统组件206可以调用的一个或更多个方法。操作系统组件206可以在提供应用210的标识符作为。
26、参数的情况下,调用API 212的方法。可以使用应用210的各种不同标识,其允许应用210相互区分。例如,应用210的标识符可以是包括应用的封装的标识符(例如,应用的名称、封装发布者的名称、设计应用以操作的架构的指示、封装的版本号、和/或封装的各种其它特性的组合)。操作系统组件206还可以提供免除类或恢复类作为参数。免除类或恢复类表明操作系统组件206为何正做出请求的原因,以及可以如下面所讨论的以各种不同方式使用。免除类或恢复类可以在调用API 212的方法时标识成参数,或者可替选地可以是调用的方法中固有的(例如,可以对于不同免除和/或恢复类显露不同方法)。可以在调用API 212的方法时把请。
27、求的类型(例如,用以恢复中止应用的执行的请求或用以使应用免于中止的请求)标识成参数,或者可替选地所述请求可以是调用的方法中固有的(例如,可以对于不同类型的请求显露不同方法)。0033 异步通信机制214包括可以从各种操作系统组件208接收通知的模块或组件。其它组件或模块(如,应用寿命管理模块202)可以订阅这些通知。因而,操作系统组件208无论何时向机制214提供通知,机制214都把该通知提供给模块202。此通知可以包括各种信息,如,应用210的标识符(其可以采取如以上所讨论的各种形式)、请求的免除类或恢复类的指示、和/或请求类型的指示(例如,请求是用以恢复中止应用执行的请求还是用以使应用免于。
28、中止的请求)。0034 响应于使应用免于中止的请求,应用寿命管理模块202确信做出请求的操作系统组件206、208正为了适当原因这样做。因而,模块202通过把在确定哪一个或更多个应用104中止时并非要中止识别的应用通知评估模块使该应用免于中止。0035 操作系统组件206、208可以为了各种原因请求使应用免于中止,不同操作系统组件206、208可以为了不同原因请求中止应用。通常,操作系统组件206、208响应于操作系说 明 书CN 103049339 A6/10页8统组件206、208确定应用210正执行允许继续、但是在应用210被中止的情况下将不会继续的操作而请求使应用免于中止。例如,应用2。
29、10可以正执行打印操作,其涉及逐页提供要打印文档的数据。操作系统组件206、208(例如,打印后台处理程序(print spooler)请求使应用210免于中止,因为如果要在文档的打印完结之前中止应用210,则文档的打印将不会完结。通过另一实例,应用210可以是回放音频内容(例如,乐曲或乐曲的播放列表)的音频播放器应用。操作系统组件206、208(例如,音频API)请求使应用210免于中止,因为如果要中止应用210则音频内容的回放将会停止。0036 通过又一实例,应用210可以经由作为装置驱动器的操作系统组件206、208与装置(例如,摄像器、网络接口卡、无线装置等)通信。操作系统组件206、。
30、208在通信(例如,应用210与装置之间的输入/输出(I/O)正至少按阈值速率出现的情况下确定应用正主动使用装置,以及在应用正主动使用装置的情况下请求使应用210免于中止。通过再一示例,作为共享操作的一部分,应用210可以与另一应用(例如,通过良好定义的接口)共享信息(例如,相片、音乐、视频等)。如果正执行共享操作,则(例如,促进或如若不然获知该共享操作的)操作系统组件206、208请求使应用210免于中止以使得可以完成共享操作。各种其它操作也可以使得操作系统组件请求使应用免于中止,如,向和/或从(例如,局域网上、互联网上等的)另一装置传送数据的应用、执行一些装置实体操作(例如,备份硬盘驱动器。
31、、检查恶意软件)的应用、等等。0037 使应用免于中止的请求还可以表明免除类。可以使用各种不同免除类,每个免除类标识为何请求使应用免于中止的原因。例如,免除类可以是打印、音频、装置I/O等。0038 可替选地,并非指定免除类,应用寿命管理模块202可以推断为何请求使应用免于中止的原因。例如,每个操作系统组件206、208可以具有它为何请求使应用免于中止的特定原因。因而,模块202可以基于操作系统组件206、208(从其接收请求)识别为何正请求使应用免于中止的原因。0039 应用寿命管理模块202可以无限期地、或者可替选地直到出现一些事件或一些时间量逝去为止使应用免于中止。例如,这种事件可以是请。
32、求了使应用免于中止的操作系统组件在不再使应用免于中止(例如,因为完成了文档打印,因为用户把音频内容的回放暂停了至少阈值量的时间(例如,两分钟),等等)时通知模块202。通过另一实例,模块202可以使应用免于中止一个特定的时间量(例如,五分钟、一个小时等)。可以通过不同方式确定该特定时间量,如,基于为何请求使应用免于中止的原因(例如,操作系统组件提供的请求的不同免除类可以具有不同特定时间量)、基于模块202的默认配置、基于作为来自模块202的请求的参数接收的特定时间量的指示,等等。操作系统组件可以可选地通过例如提交用以使应用免于中止的一个或更多个额外请求来扩展此特定时间量。响应于这种事件或时间量。
33、逝去,不再使应用免于中止。相应地,模块202调用策略评估模块(例如,图1的策略评估模块122)以中止应用,或者以确定应用210是否如以上所讨论的正满足操作系统应用的策略。0040 还可以通过其它方式使用为何正请求使应用免于中止的原因(例如,操作系统组件提供的请求的免除类)。例如,应用寿命管理模块202可以包括(或调用的另一模块包括)用以维持哪些模块206、208请求了使应用免于中止、这些操作系统组件为何请求了使应用免于中止的原因、和/或使哪些应用免于中止的记录的功能。可以通过各种方式使用此记说 明 书CN 103049339 A7/10页9录,如,识别用以使应用免于中止的请求的潜在滥用,识别接。
34、收用以使应用免于中止的请求的频率,等等。0041 响应于用以恢复中止应用执行的请求,应用寿命管理模块202确信做出请求的操作系统组件206、208正为了适当原因这样做。因而,模块202恢复中止的应用,如,通过调用操作系统102的API以恢复中止的应用。0042 操作系统组件206、208可以请求为了各种原因恢复应用,不同操作系统组件206、208可以请求为了不同原因恢复应用。通常,操作系统组件206、208响应于另一应用、组件、或者模块与中止的应用进行通信的期望而请求恢复应用。例如,应用210会期望使用各种传统过程间通信技术中的任何传统过程间通信技术与另一应用210通信。操作系统组件206、2。
35、08请求恢复另一应用210,因为另一应用210在中止的情况下无法通信(因为中止的应用并未被调度以便执行)。通过另一实例,应用210响应于另一应用210接收的用户请求(例如,用以粘贴从另一应用210复制的数据的请求)会期望从另一应用210获得数据。操作系统组件206、208因为在中止另一应用210的情况下无法从另一应用210获得数据所以请求恢复该另一应用。0043 通过另一实例,操作系统组件206、208本身会期望与中止的应用通信(例如,列举中止的应用中的一些事项或如若不然从中止的应用获得信息或数据)。操作系统组件因为应用210在中止的情况下无法通信所以请求恢复应用210。应当注意,这些是操作系。
36、统组件206、208为何会请求恢复中止的应用210的实例原因,操作系统组件206、208可以为了各种其它原因中的任何其它原因请求恢复应用210。0044 用以恢复中止应用执行的请求还可以指示请求的恢复类。可以使用各种不同恢复类,每个恢复类标识为何正请求恢复应用的原因。例如,恢复类可以是过程间通信、用户请求、操作系统组件期望等。0045 可替选地,并非指定恢复类,应用寿命管理模块202可以推断为何正请求恢复应用的原因。例如,每个操作系统组件206、208可以具有它为何请求恢复应用的特定原因。因而,模块202可以基于操作系统组件206、208(从其接收请求)识别为何正请求恢复应用的原因。0046 。
37、一旦恢复应用,应用寿命管理模块202就使应用免于中止。此免除除了响应于用以恢复中止应用执行的请求进行免除以外,与以上讨论相似。与以上讨论相似,可以无限期地、或者可替选地直到出现一些事件或一些时间量逝去为止使应用免于中止。例如,应用管理寿命模块202可以使应用免于中止一个特定的时间量(例如,两秒钟、十秒钟),该特定的时间量可以基于为何正请求恢复应用的原因。通过另一实例,应用管理寿命模块202可以使应用免于中止直到从操作系统组件接收到用于请求恢复应用的原因不再存在的通知为止。响应于这种通知,模块202调用策略评估模块(例如,图1的策略评估模块122)以中止应用,或者以确定应用210是否如以上所讨论。
38、的正满足操作系统应用的策略。0047 在一个或更多个实施例中,请求恢复中止应用执行的操作系统组件206、208维持多少应用(或操作系统组件)请求了触发做出请求的动作(使得操作系统组件做出用以恢复中止应用执行的请求的动作)的计数器或其它记录。可以为了不同原因维持不同计数器或其它记录。例如,如果三个不同应用使用过程间通信技术请求与中止的应用通信,则操作系统组件206、208维持表明这三个应用请求了将会触发做出请求的动作的计数器或其它记说 明 书CN 103049339 A8/10页10录。如果额外应用请求使用过程间通信技术与中止的应用通信,则将计数器递增或更新其它记录以表明该四个应用请求了将会触发。
39、做出请求的动作。或者,如果应用中的一个应用完成了它的过程间通信(在恢复了中止的应用之后),则将计数器递减或更新其它记录以表明此两个应用请求了将会触发做出请求的动作。0048 当计数器或其它记录从零个应用请求了将会触发做出请求的动作改变为一个应用请求了将会触发做出请求的动作时,则操作系统组件请求恢复中止应用的执行。表明多于一个应用请求了将会触发做出请求的动作的计数器或其它记录的额外改变因为已经做出了请求所以不使得操作系统组件请求恢复中止应用的执行。当计数器或其它记录从一个应用请求了将会触发做出请求的动作改变为零个应用请求了将会触发做出请求的动作时,则操作系统组件通知应用寿命管理模块202以使得策。
40、略评估模块确定应用是否正满足操作系统应用的策略。如果不再使恢复的应用免于中止(例如,由于来自另一OS组件206、208的请求),则可以按照策略中止恢复的应用。表明仍然多于一个应用请求了将会触发做出请求的动作的计数器或其它记录的额外改变不会导致操作系统组件通知模块202以使得策略评估模块确定应用是否正满足操作系统应用的策略,因为至少一个应用仍然请求了将会触发做出请求的动作以恢复中止应用的执行。0049 图3是示例了按照一个或更多个实施例实施恢复应用和/或使应用免于中止的装置的实例过程300的流程图。通过装置(如,图1的装置100)执行过程300,以及可以在软件、固件、硬件、或者其组合中实施过程3。
41、00。过程300作为一套动作示出且不限于针对执行各种动作的操作所示出的次序。过程300是用于实施恢复应用和/或使应用免于中止的实例过程;参照不同图在本文中包括了实施恢复应用和/或使应用免于中止的额外讨论。0050 在过程300中,接收用以使应用免于中止的请求(动作302)。从操作系统组件接收请求、以及因而如以上所讨论的被确信。0051 响应于动作302中接收的请求,使应用免于中止(动作304)。通过免除请求,即使在应用如若不然会由于运算装置上运行的一个或更多个应用不满足如以上所讨论的策略而被中止的情况下也不中止该应用。可以如以上所讨论的无限期地、或者可替选地直到出现一些事件或一些时间量逝去为止。
42、使应用免于中止。0052 图4是示例了按照一个或更多个实施例实施恢复应用和/或使应用免于中止的装置的另一实例过程400的流程图。通过装置(如,图1的装置100)执行过程400,以及可以在软件、固件、硬件、或者其组合中实施过程400。过程400作为一套动作示出且不限于针对执行各种动作的操作示出的次序。过程400是用于实施恢复应用和/或使应用免于中止的实例过程;参照不同图在本文中包括了实施恢复应用和/或使应用免于中止的额外讨论。0053 在过程400中,接收用以恢复已中止的应用的执行的请求(动作402)。从操作系统组件接收该请求、以及因而被确信,如以上所讨论的。例如,如以上所讨论的,由于运算装置不再显示应用的用户界面因而该应用将会被中止。0054 响应于请求,恢复应用的执行(动作404)。也如以上所讨论的无限期地、或者可替选地直到出现一些事件或一些时间量逝去为止使应用免于在运算装置上中止。0055 因而,本文中讨论的恢复应用和/或使应用免于中止的技术支持各种使用场景。可以应用策略以中止并非正使用的应用,以致使中止并非正显示用户界面的应用。然而,如果这种应用正执行操作系统组件确定允许继续的操作(例如,打印、播放音频内容),则可以说 明 书CN 103049339 A10。