CN107787482A - 非活动窗口的管理 - Google Patents

非活动窗口的管理 Download PDF

Info

Publication number
CN107787482A
CN107787482A CN201680024027.1A CN201680024027A CN107787482A CN 107787482 A CN107787482 A CN 107787482A CN 201680024027 A CN201680024027 A CN 201680024027A CN 107787482 A CN107787482 A CN 107787482A
Authority
CN
China
Prior art keywords
windows
window
inactive
status information
user
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
CN201680024027.1A
Other languages
English (en)
Other versions
CN107787482B (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN107787482A publication Critical patent/CN107787482A/zh
Application granted granted Critical
Publication of CN107787482B publication Critical patent/CN107787482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/461Saving or restoring of program or task context
    • 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
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在计算机系统中,在计算设备的虚拟桌面上被显示的一个或多个窗口被确定为是非活动的。一个或多个窗口可以与在计算设备上运行的一个或多个过程相对应。响应于确定一个或多个窗口是非活动的,保存用于一个或多个对应的过程的状态信息并且终止一个或多个窗口和对应的过程。状态信息包括用于在与窗口和过程的终止相对应的时间点处的状态中重新开始一个或多个过程和重新生成一个或多个窗口的信息。用户界面被提供用于基于所存储的状态信息而还原终止的窗口。

Description

非活动窗口的管理
背景技术
大多数软件应用在一个或多个图形窗口中显示信息。用户可以保持多个应用同时打开,与它们中的仅一些交互。例如,用户可以保持应用打开,因为用户不想要花费时间来存储工作文档或标记用户的现在位置。此外,内容流应用可以不具有手动地保存用于稍后消费的信息的能力。用户可以留下这些应用打开,使得其可以从操作的最后状态恢复。在该方面中,与打开的应用相对应的窗口可以使虚拟桌面混乱并且消耗系统资源,并且损害计算设备和由用户当前使用中的应用的操作效率。
发明内容
本技术提供一种用于非活动窗口的管理的系统和计算机实现的方法。在一个或多个实施方式中,方法包括:确定在计算设备的虚拟桌面上被显示的一个或多个窗口是非活动的,一个或多个窗口与在计算设备上运行的一个或多个相应过程相对应;并且响应于确定一个或多个窗口是非活动的,存储用于一个或多个过程的状态信息并且终止一个或多个窗口和一个或多个相应过程,其中,状态信息包括用于在存在于与终止相对应的时间点处的状态中重新开始一个或多个相应过程和重新生成一个或多个窗口的信息。其它方面包括用于计算机实现的方法的实施方式的对应的系统、装置和计算机程序产品。
在一个或多个实施方式中,计算机实现的方法还可以包括:在虚拟桌面上的过程管理界面中显示与被终止的过程相对应的过程表示的第一枚举连同与活动过程相对应的过程表示的第二枚举,过程表示包括一个或多个相应过程的表示;接收将一个或多个相应过程的表示从第一枚举移动到第二枚举的用户手势的指示;并且响应于指示,使用所存储的状态信息启动一个或多个相应过程;所启动的一个或多个相应过程在存在于与终止相对应的时间点处的状态中在虚拟桌面上重新生成一个或多个窗口。
在一个或多个实施方式中,机器可读介质包括被存储在其上的指令,其当由计算设备执行时,使得计算设备确定在计算设备的虚拟桌面上被显示的一个或多个窗口是非活动的,一个或多个窗口与在计算设备上运行的一个或多个相应过程相对应;并且响应于确定一个或多个窗口是非活动的,存储用于一个或多个过程的状态信息并且终止一个或多个窗口和一个或多个相应过程,其中,状态信息包括用于在存在于与终止相对应的时间点处的状态中重新开始一个或多个相应过程和重新生成一个或多个窗口的信息。其它方面包括用于机器可读介质的实施方式的对应的方法、系统、装置和计算机程序产品。
在一个或多个实施方式中,系统包括一个或多个处理器和存储器。存储器具有存储在其上的指令,其当由一个或多个处理器执行时,使得处理器执行方法,所述方法包括:在计算虚拟桌面上被显示的一个或多个窗口是非活动的,一个或多个窗口与一个或多个相应过程相对应;并且,响应于确定一个或多个窗口是非活动的,存储用于一个或多个过程的状态信息并且终止一个或多个窗口和一个或多个相应过程,其中,状态信息包括用于在存在于与终止相对应的时间点处的状态中重新开始一个或多个相应过程和重新生成一个或多个窗口的信息。其它方面包括用于系统的实施方式的对应的方法、机器可读介质、装置和计算机程序产品。
应理解到,本技术的其它配置将从以下详细描述对于本领域的技术人员而言变得显而易见,其中,以图示的方式示出并且描述本技术的各种配置。如将认识到,本技术能够进行其它和不同的配置并且其若干细节能够在各种其它方面中进行修改而全部不脱离本技术的范围。因此,附图和详细描述将被认为是实际上说明性而非限制性的。
附图说明
将参考附图进行详细描述:
图1描绘了包括包含多个活动窗口的虚拟桌面的示例显示器的示例计算设备。
图2描绘了包括用于非活动窗口的管理的示例过程管理界面的示例计算设备。
图3描绘了用于非活动窗口的管理的示例过程的流程图。
图4是图示用于结合非活动窗口的管理使用的示例电子系统的示图。
具体实施方式
下面阐述的详细描述旨在作为本技术的各种配置的描述并且不旨在表示在其中可以实践本技术的仅有配置。附图被包含在本文中并且构成详细描述的一部分。详细描述包括出于提供本技术的透彻理解的目的的特定细节。然而,对于本领域的技术人员而言将清楚并且明显的是,本技术不限于本文所阐述的特定细节并且可以在没有这些特定细节的情况下实践。在一些实例中,众所周知的结构和组件以块图形式被示出以便避免模糊本技术的概念。
本技术通过将窗口和其过程退出(retire)到“时间空间”来管理非活动窗口,其中,所述窗口和过程不再消耗计算资源(诸如存储器和处理器带宽)。在该方面中,本技术监视虚拟桌面来确定在桌面上被显示的任何窗口是否是非活动的。基于一个或多个准则(包括例如在超过预定时间段内没有用户交互、对于用户不可见或不包括任何像素、针对超过阈值时间段不流式传输音频或视频、没有用户输入等),窗口可以被确定为是非活动的。基于与窗口的用户交互的最后类型,窗口还可以被确定为是非活动的(例如,用户正查看电子邮件收件箱对比写电子邮件)。附加地或者替选地,窗口可以被确定为是非活动的,因为窗口尚未接收到在其期间由其过程消耗的计算资源正增加的阈值时间段的用户交互。
一旦窗口被确定为是非活动的,窗口管理器就保存用于窗口的状态信息和对应于窗口的过程,将过程添加到终止过程的历史列表,并且然后终止窗口和其过程。以这种方式,窗口和其过程被移动到时间空间。状态信息包括用于在存在于对应于何时窗口和过程被终止的时间点处的状态中重新开始过程并且重新生成窗口的信息。在一个或多个实施方式中,状态信息还可以包括窗口的x-y和/或z顺序位置。
在一个或多个实施方式中,满足某个准则的一个或多个活动窗口和对应的过程还可以被移动到时间空间(在未被终止的情况下)。用于移动这些窗口的准则可以包括例如基于窗口在未来有多大可能将被需要将重要性的值指派给窗口。例如,如果窗口正被用于写文档并且文档刚刚已保存,则文档的保存可以提供窗口不再被需要的指示,因此减小指示其对用户的重要性的值。低值可以被指派给流式传输具有关小或静音的音量的音频的窗口。具有低值的窗口可以被标记用于基于例如系统资源的当前可用性从虚拟桌面移除。
可以以与对于非活动窗口相同的方式保存用于活动窗口和过程的状态信息。然而,过程可以暂停(例如,未分配处理器资源)或者指派比虚拟桌面上的其它窗口更低的用于访问资源的优先级。由于活动但是未使用的窗口被移除,因而台式计算机对于用户而言显得更清洁,但是即使其过程可以仍然在存储器(例如,RAM)中,窗口也被隐藏。窗口和过程可以然后被终止(例如,在清除操作期间)。
本技术可以包括过程管理界面,其允许用户管理终止过程的历史列表,并且在时间空间与在其中它们被复原在虚拟桌面上的“空间空间”之间移动它们。在该方面中,界面可以显示对应于终止过程的过程表示的第一枚举(例如,在历史列表中)和对应于具有活动和/或被显示在虚拟桌面上的窗口的过程表示的第二枚举(例如,在空间空间中)。每个过程表示可以是窗口的屏幕截图。在一个实施方式中,第一枚举可以包括在每个窗口和与过程表示相关联的其对应的过程被终止的时间点处所捕获的屏幕截图。在一个或多个实施方式中(例如,如在图2中所描绘的),第一枚举可以被显示为重叠窗口的堆叠并且第二枚举可以被显示为以行和/或列空间地组织的一系列窗口。界面还可以包括用于将空间空间中的所有窗口移动到时间空间(并且反之亦然)的控件。
用户可以访问过程管理界面并且拖曳时间空间与空间空间之间的表示,以或者通过保存状态信息并且将其终止退出过程和窗口,或者基于所保存的状态信息将其复原。例如,用户可以执行用户手势以将过程的表示从第一枚举移动到第二枚举。手势可以包括指针动作或者当使用触摸屏时,手指在与第一枚举和第二枚举相关联的计算设备的显示屏的一部分上滑动。附加地或者替选地,每个表示可以与选择控件(例如,复选框)相关联,并且可以被选择并且然后由主控件的激活移动。
响应于将过程表示从时间空间移动到空间空间,窗口管理器可以使用用于对应的先前终止过程的所保存的状态信息启动对应于所选择的表示的新过程。新过程然后基于状态信息在存在于对应于何时过程被终止的时间点处的状态中在虚拟桌面上生成窗口。因为窗口利用与当其被终止时所有相同信息生成,所以用户察觉过程好像其从未终止一样。
图1描绘了包括多个活动窗口104的虚拟桌面102的示例显示器的示例计算设备100。在使用计算设备100的过程中,用户可以开始多个过程(例如,应用),其各自可以打开窗口104。窗口当其被打开时被确定是活动的,并且在各种方面中保持活动,只要其接收某种类型的用户交互。一些窗口可以无限地保持活动,并且一些窗口可以保持活动,只要内容正由窗口产生。例如,负责使音频或视频流动的窗口可以保持活动,只要音频或视频流被维持,或者直到设备100由于缺少与虚拟桌面102的用户交互而进入节能模式。
随着越来越多的窗口(和其过程)被激活,虚拟桌面102可能变得混乱。如在图1中所描绘的,窗口104可以被堆叠在彼此上面或者可以重叠。一些窗口106可以变为隐藏在其它窗口后面,并且可能由用户忘记。一些窗口104可以被最小化到任务栏108。在该方面中,计算设备100可以包括用作监视被显示在虚拟桌面102上的窗口的活动的软件指令(例如,与虚拟桌面102集成)。窗口管理器可以将满足某个预定准则的虚拟桌面102上的窗口确定为非活动窗口。
在一个或多个实施方式中,基于在超过阈值时间段内或“不活动阈值”未接收到用户交互的窗口,窗口104可以被确定为是非活动的。不活动阈值可以基于各种因素在时间或持续时间(例如,5-45分钟)方面变化。一个因素可以包括窗口的z顺序深度。例如,不活动阈值可以基于窗口z位置的深度而减小。隐藏超过预定量(例如,在一个或多个其它窗口后面)、或完全隐藏、或最小化的窗口106可以具有比被定位在虚拟桌面102上的其它窗口更低的不活动阈值。附加地或者替选地,基于窗口的z顺序深度小于预定阈值数目的窗口,该窗口可以被确定为是非活动的。
不活动阈值还可以基于生成窗口的过程的类型、或由窗口所提供的用户界面、或用户界面被配置成接收的用户交互的类型。设备100可以包括确定由窗口104所提供的用户界面的类型的软件指令。一些用户界面可以被配置有关于什么类型的用户交互将在用户界面内发生而信号通知虚拟桌面102的软件指令。例如,与仅使应用运行相反,当用户已开始写文档(例如,电子邮件)时,允许用户构建文档(例如,在线电子邮件账户)的应用可以信号通知虚拟桌面。在该方面中,如果用户界面指示用户在写文档的中间,则活动阈值可以增加或暂停。如将进一步描述的,打开或活动文档可以在过程和其窗口被终止之前被保存并且然后在稍后时间处连同过程和窗口被重新加载。
附加地或者替选地,如果例如窗口打开并且没有显示内容或像素,则窗口可以退出到时间空间或者其不活动阈值减小。在一个或多个实施方式中,窗口管理器可能能够确定窗口104是否在流式传输音频或视频,并且当窗口正流式传输时增加或暂停不活动阈值,并且当流式传输已停止或结束时减小或消除不活动阈值。
在一个或多个实施方式中,基于在预定时间段期间正减小(例如,减小而不管没有用户交互)的一个或多个窗口所利用的资源的阈值量,窗口可以被确定为是非活动的。例如,如果在预定时间段期间由窗口或其相关联的过程所利用的(例如,分配到其或由其消耗的)计算资源(例如,处理器带宽或存储器)继续增加,然后窗口可以被移动到时间空间。附加地或者替选地,如果由窗口或其相关联的过程所利用的计算资源量满足资源的阈值利用,则窗口可以被确定为是非活动的。
窗口管理器可以使用用于确定窗口是非活动并且用于将窗口和对应的过程退出到时间空间的前述准则的任何组合。例如,基于包括以下各项中的一项、两项或更多项的预定准则,窗口可以被确定为是非活动的:(一个或多个)窗口的z顺序深度、正被隐藏的(一个或多个)窗口的至少预定阈值量、生成(一个或多个)窗口的预定类型的过程、由(一个或多个)窗口所提供的预定类型的用户界面、由即将结束的(一个或多个)窗口所提供的音频和/或视频流、正由(一个或多个)窗口所显示的像素的缺少、满足资源的预定阈值利用的(一个或多个)窗口的资源利用和在(一个或多个)窗口中正被执行的预定类型的用户活动。前述准则中的任一个可以结合活动阈值工作,其中,前述准则中的每个准则减少或增加(或者消除需要)活动阈值。在一个示例中,由于其z顺序小于预定z顺序、或者如果窗口已被最小化到任务栏108、或者窗口的阈值量以其它方式被隐藏在一个或多个其它窗口后面,因而流式传输窗口在结束流式传输时可以立即地被设定非活动的。
图2描绘了包括用于非活动(和活动)窗口的管理的示例过程管理界面202的示例计算设备100。如先前所描述的,计算设备100可以包括用作窗口管理器的软件指令。在一个或多个实施方式中,一旦窗口被窗口管理器确定为是非活动的,窗口管理器就可以存储用于窗口和对应于窗口的过程的状态信息,终止或以其它方式从虚拟桌面102移除窗口,终止或以其它方式暂停与窗口相关联的过程,并且将过程和/或窗口添加到过程和/或窗口的历史列表。所存储的状态信息包括用于在存在于与何时状态被存储相对应的时间点处(例如,在窗口被终止或从虚拟桌面102被移除的时间处)的状态中重新生成窗口(和过程(如果必要的话))的信息。
窗口管理器可以虚拟桌面上的控件(例如,图标、链接或基于手势的动作)的激活上打开过程管理界面202,其使得用户能够管理被移动到时间空间(例如,并且被终止)的过程(和窗口)的历史列表。过程管理界面202显示表示时间空间的时间区域204连同表示空间空间的空间区域206。时间区域204可以包括与通过窗口管理器被退出到时间空间的过程(和窗口)相对应的过程表示的第一枚举208的显示,如上文关于图1所描述的。空间区域206可以包括与在虚拟桌面102上活动的过程和/或窗口相对应的过程表示的第二枚举210的显示。
第一枚举208和/或第二枚举210中的每个过程表示可以类似或者被显示为窗口的屏幕截图。在一个或多个实施方式中,第一枚举208可以包括在每个窗口和其对应的过程被终止或以其它方式被移动到时间空间的时间点处所捕获的屏幕截图。在该方面中,当窗口被确定为是非活动的时或者在从虚拟桌面102移除窗口时,窗口的屏幕截图可以由窗口管理器自动捕获。屏幕截图可以然后被包括在被存储用于窗口和/或其过程的状态信息中或连同其被存储。
如在图2的示例中所描绘的,第一枚举208中的过程表示可以被显示为重叠窗口的堆叠。这些表示可以根据每个对应的过程何时终止或何时以其它方式被移动到时间空间来排序。第二枚举210可以被显示为以行和/或列空间组织的一系列窗口。
使用过程管理界面202,用户可以在由时间区域204所表示的时间空间与由空间区域206所表示的“空间空间”之间移动过程(和其相关联的窗口)。为了这样做,用户可以访问过程管理界面202并且拖曳或以其它方式移动212时间区域204与空间区域206之间的过程表示以在对应的过程上执行动作。当相应的过程表示214被移动212(例如,从时间区域204到空间区域206)时,使用先前被存储用于由窗口管理器处理的状态信息启动与表示相关联的过程。所启动的过程然后使用状态信息在存在于过程被终止或以其它方式被移动到时间空间的时间点处的状态中在虚拟桌面102上重新生成窗口。
在一些方面中,被确定为非活动的窗口可以与电子文档相关联。例如,计算设备100的用户可能已经在电子文档中工作但是暂停文档上的工作,并且窗口由于除了其它方面在时间段内用户交互的缺少而变为非活动的。在一个或多个实施方式中,存储状态信息可以包括存储与非活动窗口相关联的电子文档的内容。电子文档可以被存储在对应的过程的所存储的状态信息中。附加地或者替选地,所存储的状态信息可以包括文档的内容。当过程被启动时(例如,通过将对应的过程表示从时间区域204移动到空间区域206),电子文档可以连同过程和/或对应的窗口被重新生成。状态信息可以捕获文档内的用户的当前位置连同取消动作的历史。
用户可以执行用户手势216以将所选择的过程表示214从第一枚举208移动到第二枚举210。手势可以包括指针动作或者当使用触摸屏时,手指在与所选择的表示以及第一枚举和第二枚举相关联的计算设备的显示屏的一部分上滑动。在该方面中,手势可以被用于跨越过程管理界面202拖曳表示。在一个或多个实施方式中,每个过程表示可以与选择控件(例如,在表示或其驻留在其中的枚举附近的复选框)相关联。用户可以通过在每个对应的控件处的选择来选择一个或多个过程表示,并且然后通过可以包括主控件218的激活的手势移动所选择的过程表示。在一个或多个实施方式中,空间区域206还可以包括用于将空间空间中的所有窗口移动到时间空间的控件220,并且时间区域204可以包括用于将时间空间中的所有窗口移动到空间空间的控件222。
响应于通过前述机构中的任一个将所选择的过程表示从时间空间移动到空间空间,窗口管理器可以基于与所选择的表示相对应的状态信息启动新过程。新过程然后基于状态信息在存在于与何时过程先前终止或以其它方式被移动到时间空间相对应的时间点处的状态中在虚拟桌面上生成窗口。因为窗口与当其被终止时所有相同信息一起生成,包括任何打开文档,所以用户察觉过程好像其从未终止一样。
图3描绘了根据本技术的各方面的用于非活动窗口的管理的示例过程300。出于解释的目的,在本文中参考图1和图2的组件描述示例过程300。进一步地,出于解释的目的,示例过程300的块在本文中被描述为串行或线性地发生。然而,示例过程300的示例块可以并行发生。另外,示例过程300的块不需要以所示的顺序被执行和/或示例过程300的块中的一个或多个不需要被执行。
在所描绘的示例流程图中,计算设备100(例如,通过用作先前所描述的窗口管理器的软件指令)确定在虚拟桌面102上被显示的一个或多个窗口是非活动的(302)。每个窗口对应于在计算设备上运行的一个或多个相应过程。一个或多个窗口可以使用先前所描述的方法中的任一个被确定为是非活动的,例如,如关于图1所描述的。
响应于确定一个或多个窗口是非活动的,计算设备102存储用于与一个或多个窗口相关联的当前运行过程的状态信息(304)。状态信息可以被存储在对象中、在系统注册表中、在文件中等。根据一个或多个实施方式,状态信息被存储在非易失性存储器中。在一个或多个实施方式中,状态信息可以结合用户账户被存储在例如服务器上。在该方面中,计算设备101(或窗口管理器)可以通过注册过程与用户账户相关联。附加地或者替选地,状态信息可以被存储在其中的每个应用可以与用户账户和/或服务器相关联和/或登记到用户账户和/或服务器。一旦应用和/或设备登记到用户账户,设备100可以结合用户账户存储用于应用和/或设备的状态信息。
状态信息包括在存在于与何时其被终止相对应的时间点处的状态中重新开始一个或多个相应过程和重新生成一个或多个窗口的信息。例如,状态信息可以包括应用设置、窗口设置、内容和内容设置等。在一个或多个实施方式中,当一个或多个窗口被确定为是非活动的时,一个或多个窗口可以与电子文档相关联。因此,状态信息可以与电子文档的内容一起存储,使得过程和窗口可以稍后连同文档被还原。
出于本公开的目的,过程可以是根据状态信息在计算设备301的存储器中操作的可执行应用。在该方面中,过程初始地加载用于在默认状态中执行,但是可以以预定状态执行。当以预定状态执行时,新实例化的过程开始在与过程的先前的实例化相同的配置中执行。除查看存储器中的过程的位置之外,对于用户而言标识先前实例化的过程与使用与先前实例化的过程相同状态的新实例化的过程之间的差异可能是几乎不可能的。
在一个示例中,过程和对应的窗口可以是web浏览器。状态信息可以包括web浏览器的先前终止的实例的web浏览历史和/或由web浏览器的先前终止的实例所打开的至少一个网页。web浏览器的新实例可以然后自动地打开以查看由远程实例中的用户最后查看的网页中的位置处的网页(并且例如,在页面中的相同位置处)。附加地或者替选地,新实例可以自动地被配置成根据先前终止的实例的web浏览历史允许网页的导航。例如,一旦web浏览器被打开,用户就可以选择“返回”按钮以通过在web浏览器的先前终止的实例中查看的网页的历史向后导航。
在状态消息被存储之后,计算设备100终止过程和一个或多个窗口(306)。在该方面中,每个过程被停止并且从存储器被移除。由过程所生成的任何剩余的对象或子过程可以被标记用于终止或垃圾回收。
在一个或多个实施方式中,过程可以暂停或指派更低的优先级。在该方面中,过程可以被防止利用进一步的处理器或存储器资源,或者可以使资源的其利用缓慢。例如,活动窗口可以从虚拟桌面102被移除并且过程暂停,因为窗口被确定为在完成状态中(例如,与窗口相关联的内容或文档刚刚已保存)。存储过程状态,如先前所描述的;然而,过程未终止并且由过程对资源的进一步的利用被防止。
重要性的值可以被指派给活动窗口。窗口可以提供关于其是在完成状态中还是不重要的指示。窗口管理器可以基于窗口是否将主动地接收用户输入并且窗口是否满足其它准则而将重要性的值指派给窗口。例如,如果窗口正被用于写文档并且文档刚刚已保存,则文档的保存(与例如用户输入的停止组合)可以提供窗口不再被需要的指示,因此减小指派给窗口的值。低值可以被指派给音量被关小或静音的流式传输音频的窗口。具有比其它更低的值或者小于预定阈值的窗口可以被标记用于基于例如系统资源的当前可用性从虚拟桌面移除。
可以以与对于非活动窗口相同的方式保存用于活动窗口和过程的状态信息。然而,与窗口相关联的过程可以暂停(例如,未分配进一步的处理器资源)或者指派比虚拟桌面102上的其它窗口更低的用于访问资源的优先级。过程可以稍后终止(例如,在清除操作或由预定RAM或处理器利用阈值所触发的清除操作期间)。
在虚拟桌面上显示过程管理界面202的用户发起的请求被接收(308)。虚拟桌面102或任务栏108可以包括用于激活过程管理界面202的程序链接(例如,图标)。可以通过预定手势(例如,利用指针设备做出的)、通过键击的预定组合或通过在设备100的触摸屏处做出的滑动或多点触摸动作激活过程管理界面202。
显示过程管理界面202(例如,作为用户界面),包括与被终止的过程相对应的过程表示的第一枚举208和与活动过程相对应的过程表示的第二枚举210(310)。由第一枚举208所显示的过程表示可以包括终止的先前所描述的一个或多个相应过程的表示。第一枚举208可以根据与所显示的过程表示相关联的每个过程何时被终止来排序。第二枚举210可以被显示为以行和/或列空间地组织的一系列窗口。
在一个或多个实施方式中,每个过程表示可以被显示为或者包括与其对应的过程或窗口相对应的一个或多个屏幕截图。可以在与过程或者与过程相关联的窗口何时被终止或以其它方式被移动到时间空间相对应的时间点处取得屏幕截图。如先前所描述的,屏幕截图可能已被捕获并且被存储在过程和/或窗口何时被终止或以其它方式被移动到时间空间的状态信息中。
计算设备101接收将一个或多个相应过程的一个或多个所选择的表示从第一枚举208移动到第二枚举210的用户手势216的指示(312)。可以通过一个或多个键击或通过在设备100的触摸屏处做出的滑动或多点触摸动作利用指针设备做出用户手势。如先前所描述的,可以使用指针设备或触摸屏处的触摸或手指滑动动作在过程管理界面202的时间空间204和空间区域206之间视觉地拖曳每个过程表示。附加地或者替选地,每个过程表示可以与选择控件(例如,复选框)相关联,并且用户可以通过选择控件中的一个或多个并且然后将所选择的表示作为组移动来选择一个或多个过程表示。手势还可以包括移动所选择的表示的主控件220的激活。在一个或多个实施方式中,控件220可以将用于空间空间中的窗口的所有过程移动到时间空间,或者控件222可以将时间空间中的所有过程(和窗口)移动到空间空间。
响应于接收到将所选择的表示从第一枚举移动到第二枚举的指示,设备101使用用于过程的所存储的状态信息启动与所选择的表示相关联的过程(314)。新启动的过程在存在于与何时过程和窗口被终止或以其它方式被移动到时间空间相对应的时间点处的状态中重新生成与虚拟桌面102上的过程相对应的窗口。如果窗口先前暂停或者其优先级减小,则过程可以被恢复到正常操作并且优先级可以被设定到其原始优先级(例如,基于被存储在状态信息中的优先级信息)。在其中过程包括当其被终止或从虚拟桌面102被移除时的打开文档的实例中,新启动的过程可以使用所存储的状态信息重新生成电子文档。文档可以然后以与当窗口被确定为非活动时相同的方式被显示为打开的。
许多上文所描述的示例过程300和相关特征和应用可以被实现为被指定为被记录在计算机可读存储介质(还被称为计算机可读介质)上的指令集的软件过程。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的核心或其它处理单元)执行时,其使得处理单元执行指令中所指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪盘驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括无线地或通过有线连接通过的载波或电子信号。
术语“软件”旨在在适当的情况下包括驻留在只读存储器中的固件或被存储在磁性存储中的应用,其可以被读取到存储器中用于由处理器处理。而且,在一些实施方式中,本公开的多个软件方面可以被实现为更大的程序的子部分,同时保持本公开的不同的软件方面。在一些实施方式中,多个软件方面还能够被实现为独立的程序。最后地,一起实现此处所描述的软件方面的独立的程序的任何组合在本公开的范围内。在一些实施方式中,当被安装以操作一个或多个电子系统时,软件程序定义运行并且执行软件程序的操作的一个或多个特定机器实施方式。
计算机程序(还被称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言书写,包括编译或者解译语言、说明性或者过程语言,并且其可以以任何形式部署,包括作为单独程序或模块、组件、子例程、对象或适合于使用在计算环境中的其它单元。计算机程序可以但是不需要对应于文件系统中的文件。程序可以被存储在保持其它程序或数据(例如,被存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于讨论中的程序的单个文件中或在多个协同文件中(例如,存储一个或多个模块、子程序或代码的部分的文件)。计算机程序可以被部署以在被定位在一个地点处的一个计算机上或在跨多个地点分布并且由通信网络相互连接的多个计算机上被执行。
图4是根据本技术的一个或多个方面的图示用于结合基于来自远程设备的传感器数据执行计算设备中的动作使用的示例电子系统400的示图。电子系统400可以是用于与过程300的一个或多个部分或步骤或由图1-3所提供的组件和过程相关联的软件的执行的计算设备。电子系统400可以表示计算设备100。在该方面中,电子系统400或计算设备100可以是个人计算机或移动设备(诸如智能电话、平板计算机、膝上型计算机、PDA或具有嵌入在其中或耦合到其的一个或多个处理器的其它触摸屏或电视)或具有网络连接性的任何其它种类的计算机相关电子设备。
电子系统400可以包括各种类型的计算机可读介质和用于各种其它类型的计算机可读介质的接口。在所描绘的示例中,电子系统400包括总线408、处理单元412、系统存储器404、只读存储器(ROM)410、永久存储设备402、输入设备接口414、输出设备接口406和一个或多个网络接口416。在一些实施方式中,电子系统400可以包括或者与用于先前所描述的各种组件和过程的操作的其它计算设备或电路集成。
总线408共同地表示通信地连接电子系统400的许多内部设备的所有系统、外围和芯片集总线。例如,总线408将处理单元412与ROM410、系统存储器404和永久存储设备402通信地连接。
从这些各种存储器单元,处理单元412检索执行的指令和处理的数据以便执行本公开的过程。处理单元在不同的实施方式中能够是单个处理器或多核处理器。
ROM 410存储由处理单元412和电子系统的其它模块所需要的静态数据和指令。另一方面,永久存储设备402是读写存储器设备。该设备是即使当电子系统400关闭时也存储指令和数据的非易失性存储器单元。本公开的一些实施方式将大容量存储设备(诸如磁或光盘和其对应的磁盘驱动器)用作永久存储设备402。
其它实施方式将可移除存储设备(诸如软盘、闪盘驱动器和其对应的磁盘驱动器)用作永久存储设备402。类似永久存储设备402,系统存储器404是读写存储器设备。然而,不类似存储设备402,系统存储器404是易失性读写存储器(诸如随机存取存储器)。系统存储器404存储处理器在运行时间处需要的指令和数据中的一些指令和数据。在一些实施方式中,本公开的过程被存储在系统存储器404、永久存储设备402和/或ROM 410中。从这些各种存储器单元,处理单元412检索执行的指令和处理的数据以便执行一些实施方式的过程。
总线408还连接到输入和输出设备接口414和406。输入设备接口414使得用户能够向电子系统传递信息和选择命令。与输入设备接口414一起使用的输入设备包括例如字母数字键盘和指针设备(还被称为“光标控制设备”)。输出设备接口406使能例如由电子系统400所生成的图像的显示。与输出设备接口406一起使用的输出设备包括例如打印机和显示设备(诸如阴极射线管(CRT)或液晶显示器(LCD))。一些实施方式包括诸如用作输入设备和输出设备二者的触摸屏的设备。
最后,如在图4中所示,总线408还通过网络接口416将电子系统400耦合到网络(未示出)。网络接口416可以包括例如无线接入点(例如,蓝牙或WiFi)或用于连接到无线接入点的无线电电路。网络接口416还可以包括用于将计算机连接到计算机的网络(诸如局域网(“LAN”)、广域网(“WAN”)、无线LAN或内联网)或网络的网络(诸如互联网)的一部分的硬件(例如,以太网硬件)。电子系统400的任何或全部组件能够结合本公开使用。
上文所描述的这些功能能够被实现在计算机软件、固件或硬件中。技术能够使用一个或多个计算机程序产品实现。可编程处理器和计算机能够被包括在移动设备中或被封装为移动设备。能够通过一个或多个可编程处理器并且通过一个或多个可编程逻辑电路执行过程和逻辑流。通用计算设备和专用计算设备以及存储设备能够通过通信网络相互连接。
一些实施方式包括电子组件(诸如微处理器、存储和存储器,其将计算机程序指令存储在机器可读或计算机可读介质中(备选地被称为计算机可读存储介质、机器可读介质或机器可读存储介质)。这样的计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪速存储器(例如,SD卡、mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘驱动器、只读和可记录光盘、超密度光盘、任何其它光学和磁性介质和软盘。计算机可读介质能够存储由至少一个处理单元可执行的计算机程序并且包括用于执行各种操作的指令集。计算机程序和计算机代码的示例包括诸如由编译器所产生的机器代码,以及包括由计算机、电子组件和使用解译器的微处理器所执行的高级代码的文件。
虽然上文讨论主要地指代执行软件的微处理器或多核处理器,但是一些实施方式由一个或多个集成电路(诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA))执行。在一些实施方式中,这样的集成电路执行被存储在电路自身上的指令。
如在本说明书和本申请的任何权利要求中所使用的,术语“计算机”、“服务器”、“处理器”和“存储器”全部指代电子或其它技术设备。这些术语不包括人或人群。出于说明书的目的,术语显示(display)或显示(displaying)意指在电子设备上显示。如在本说明书和本申请的任何权利要求中所使用的,术语“计算机可读介质(computer readablemedium)”和“计算机可读介质(computer readable media)”完全地限于以由计算机可读的形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号和任何其它短暂信号。
为了提供与用户的交互,本说明书中所描述的主题的实施方式能够被实现在计算机上,所述计算机具有用于将信息显示给用户的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和用户通过其能够向计算机提供输入的键盘和指针设备(例如,鼠标或轨迹球)。其它种类的设备也能够被用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入可以以任何形式接收,包括声音、语音或者触觉输入。另外,计算机能够通过将文档发送到由用户所使用的设备并且从其接收文档与用户交互;例如,通过响应于从web浏览器所接收到的请求,将网页发送到用户的客户端设备上的web浏览器。
在本说明书中所描述的主题的实施例能够被实现在计算系统中,其包括后端组件(例如,作为数据服务器),或者其包括中间件组件(例如,应用服务器),或者其包括前端组件(例如,具有用户通过其能够与本说明书中所描述的主题的实施方式交互的图形用户界面或web浏览器的客户端计算机),或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件能够以任何形式或数字数据通信例如通信网络的介质相互连接。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)、互联网络(例如,互联网)和对等网络(例如,对等点对点网络)。
计算系统能够包括客户端和服务器。客户端和服务器通常远离彼此并且典型地通过通信网络相互作用。客户端和服务器的关系借助于在相应的计算机上运行并且具有彼此的客户端-服务器关系的计算机程序出现。在一些实施例中,服务器将数据(例如,HTML页面)传送到客户端设备(例如,出于将数据显示给与客户端设备交互的用户并且从其接收用户输入的目的)。在客户端设备处所生成的数据(例如,用户交互的结果)能够从服务器处的客户端设备接收。
本领域的技术人员将理解到,在本文中所描述的各种说明性块、元素、组件、模块、方法和算法可以被实现为电子硬件、计算机软件或两者的组合。为了说明硬件和软件的该可交换性,通常在其功能性方面上文已描述各种说明性块、元素、组件、模块、方法和算法。这样的功能性是否被实现为硬件或软件取决于被施加在总体系统上的特定应用和设计约束。技术人员可以以针对每个特定应用的不同的方式实现所描述的功能性。各种组件和块可以全部不同地布置(例如,以不同的顺序布置,或者以不同的方式分区)而不脱离本技术的范围。
应理解到,所公开的过程中的步骤的特定顺序或层级是示例方法的图示。基于设计偏好,应理解到,过程中的步骤的特定顺序或层级可以重新排列。可以同时执行步骤中的一些步骤。随附的方法权利要求以样本顺序呈现各种步骤的元素,并且不旨在被限于所呈现的特定顺序或层级。
先前的描述被提供以使得本领域的技术人员能够实践在本文中所描述的各方面。先前的描述提供本技术的各种示例,并且本技术不限于这些示例。对于这些方面的各种修改对于本领域的技术人员而言将是显而易见的,并且在本文中所定义的一般原理可以适于其它方面。因此,权利要求不旨在限于本文示出的方面,而是将符合与语言权利要求一致的全范围,其中,除非特别这样说明,否则对单数的元素的引用不旨在意指“一个并且仅一个”,而是“一个或多个”。除非另外特别说明,否则术语“一些”指代一个或多个。男性的代词(例如,他的)包括女性和中性性别(例如,她的和它的)并且反之亦然。标题和副标题(如果有的话)仅为了方便起见使用并且不限制本发明。
如本文所使用的,术语网站可以包括网站的任何方面,包括一个或多个网页、被用于托管或存储web相关内容的一个或多个服务器等。因此,术语网站可以与术语网页和服务器可交换地使用。谓语词语“被配置成”、“可操作以”和“被编程为”不隐含主语的任何特定有形或无形修改,而是相反旨在可交换地使用。例如,被配置成监视和控制操作或组件的处理器还可以意指处理器被编程为监视和控制操作或者处理器可操作以监视和控制操作。同样地,被配置成执行代码的处理器能够被解释为被编程为执行代码或可操作以执行代码的处理器。
诸如“方面”的短语不隐含这样的方面对本技术必要或者这样的方面适于本技术的所有配置。涉及方面的本公开可以适于所有配置或一个或多个配置。方面可以提供一个或多个示例。诸如方面的短语可以指代一个或多个方面并且反之亦然。诸如“实施例”的短语不隐含这样的实施例对本技术必要或者这样的实施例适于本技术的所有配置。涉及实施例的本公开可以适于所有实施例或一个或多个实施例。实施例可以提供一个或多个示例。诸如“实施例”的短语可以指代一个或多个实施例并且反之亦然。诸如“配置”的短语不隐含这样的配置对本技术必要或者这样的配置适于本技术的所有配置。涉及配置的本公开可以适于所有配置或一个或多个配置。配置可以提供一个或多个示例。诸如“配置”的短语可以指代一个或多个配置并且反之亦然。
词语“示例”在本文中被用于意指“用作示例或图示”。在本文中被描述为“示例”的任何方面或设计不必被解释为关于其它方面或设计优选的或有利的。
为本领域的普通技术人员所熟知或稍后所熟知的贯穿本公开所描述的各方面的元素的所有结构和功能等同物通过引用明确地并入本文并且旨在由权利要求涵盖。而且,不考虑这样的公开内容是否明确地被记载在权利要求中,在本文中所公开的不旨在专用于公众。除非元素使用短语“手段方式(means for)”明确记载,或者在方法权利要求的情况下,元素使用短语“步骤(step for)”记载,否则没有权利要求元素将在35U.S.C.§112第六款的条款下理解。而且,在术语“包括(include)”、“具有(have)”等被使用在描述或权利要求中的意义上,这样的术语旨在如与当被用作权利要求中的过渡词时“包括(comprise)”被解译的那样以术语“包括(comprise)”类似的方式是包括性的。

Claims (20)

1.一种计算机实现的方法,包括:
确定在计算设备的虚拟桌面上被显示的一个或多个窗口是非活动的,所述一个或多个窗口与在所述计算设备上运行的一个或多个相应过程相对应;以及
响应于确定所述一个或多个窗口是非活动的,存储用于所述一个或多个过程的状态信息并且终止所述一个或多个窗口和所述一个或多个相应过程,
其中,所述状态信息包括用于在存在于与所述终止相对应的时间点处的状态中重新开始所述一个或多个相应过程和重新生成所述一个或多个窗口的信息。
2.根据权利要求1所述的计算机实现的方法,进一步包括:
在所述虚拟桌面上的过程管理界面中显示与被终止的过程相对应的过程表示的第一枚举连同与活动过程相对应的过程表示的第二枚举,所述过程表示包括所述一个或多个相应过程的表示。
3.根据权利要求2所述的计算机实现的方法,进一步包括:
接收将所述一个或多个相应过程的所述表示从所述第一枚举移动到所述第二枚举的用户手势的指示;以及
响应于所述指示,使用所存储的状态信息启动所述一个或多个相应过程,所启动的一个或多个相应过程在存在于与所述终止相对应的所述时间点处的所述状态中在所述虚拟桌面上重新生成所述一个或多个窗口。
4.根据权利要求3所述的计算机实现的方法,其中,所述手势包括与所述第一枚举和第二枚举相关联的所述计算设备的显示屏的一部分上的手指滑动,所述手指滑动拖曳所述一个或多个相应过程的所述表示。
5.根据权利要求4所述的计算机实现的方法,进一步包括:
确定在所述虚拟桌面上被显示的活动窗口在完成状态中;以及
响应于确定所述活动窗口在所述完成状态中,存储用于所述活动窗口的状态信息,并且从所述虚拟桌面移除所述活动窗口,
其中,所述第一枚举包括和与所述活动窗口相关联的过程相对应的过程表示,以及
其中,用于所述活动窗口的所述状态信息包括用于在存在于与所述活动窗口何时从所述虚拟桌面被移除相对应的时间点处的状态中重新生成所述活动窗口的信息。
6.根据权利要求3所述的计算机实现的方法,其中,当所述一个或多个窗口被确定为是非活动的时,所述一个或多个窗口与电子文档相关联,以及
其中,存储所述状态信息包括存储所述电子文档的内容,以及
其中,使用所存储的状态信息启动所述一个或多个相应过程并且重新生成所述一个或多个窗口包括基于当所述一个或多个窗口被确定为是非活动的时所存储的所述电子的所存储的内容重新生成所述电子文档。
7.根据权利要求2所述的计算机实现的方法,其中,所述一个或多个相应过程的所述表示包括在与所述终止相对应的所述时间点处的所述一个或多个窗口的一个或多个相应的屏幕截图,并且其中,存储用于所述一个或多个过程的所述状态信息包括捕获所述一个或多个相应的屏幕截图。
8.根据权利要求2所述的计算机实现的方法,其中,所述第一枚举根据与所显示的过程表示相关联的每个过程何时被终止而被排序。
9.根据权利要求1所述的计算机实现的方法,其中,基于由在预定时间段期间正减小的所述一个或多个窗口所利用的资源的阈值量,所述一个或多个窗口被确定为是非活动的。
10.根据权利要求1所述的计算机实现的方法,其中,基于包括以下各项中的一项或多项的预定准则,所述一个或多个窗口被确定为是非活动的:所述一个或多个窗口的z顺序深度、正被隐藏的所述一个或多个窗口的至少阈值量、生成所述一个或多个窗口的预定类型的过程、由所述一个或多个窗口所提供的预定类型的用户界面、由即将结束的所述一个或多个窗口所提供的音频或视频数据流、所述一个或多个窗口中的像素的缺少、满足资源的预定阈值利用的所述一个或多个窗口的资源利用以及在所述一个或多个窗口中正被执行的预定类型的用户活动。
11.根据权利要求10所述的计算机实现的方法,其中,基于所述一个或多个窗口在预定时间段未接收到用户交互,所述一个或多个窗口进一步被确定为是非活动的,其中,所述预定时间段由所述预定准则修改。
12.一种包括被存储在其上的指令的机器可读介质,所述指令当由计算设备执行时使得所述计算设备:
确定在计算设备的虚拟桌面上被显示的一个或多个窗口是非活动的,所述一个或多个窗口与在所述计算设备上运行的一个或多个相应过程相对应;以及
响应于确定所述一个或多个窗口是非活动的,存储用于所述一个或多个过程的状态信息并且终止所述一个或多个窗口和所述一个或多个相应过程,
其中,所述状态信息包括用于在存在于与所述终止相对应的时间点处的状态中重新开始所述一个或多个相应过程和重新生成所述一个或多个窗口的信息。
13.根据权利要求12所述的机器可读介质,其中,所述指令当被执行时进一步使得所述计算设备:
在所述虚拟桌面上的过程管理界面中显示与被终止的过程相对应的过程表示的第一枚举连同与活动过程相对应的过程表示的第二枚举;
接收将所选择的过程表示从所述第一枚举移动到所述第二枚举的用户手势的指示,所选择的过程表示与被终止的过程相关联;以及
响应于所述指示,使用与所选择的过程表示相关联的所存储的状态信息启动新过程,所述新过程在存在于与被终止的过程何时被终止相对应的时间点处的状态中在所述虚拟桌面上生成窗口。
14.根据权利要求13所述的机器可读介质,其中,所述指令当被执行时进一步使得所述计算设备:
在没有用户交互的情况下,确定在所述虚拟桌面上被显示的活动窗口应当从所述虚拟桌面被移除;
存储用于所述活动窗口的状态信息;以及
从所述虚拟桌面移除所述活动窗口;
其中,所述第一枚举包括和与所述活动窗口相关联的过程相对应的过程表示,以及
其中,用于所述活动窗口的所述状态信息包括用于在存在于与所述活动窗口何时从所述虚拟桌面被移除相对应的时间点处的状态中重新生成所述活动窗口的信息。
15.根据权利要求13所述的机器可读介质,其中,当所述一个或多个窗口被确定为是非活动的时,所述一个或多个窗口与电子文档相关联,以及
其中,存储所述状态信息包括存储所述电子文档的内容,以及
其中,使用所存储的状态信息启动所述新过程并且生成所述窗口包括基于所述电子文档的所存储的内容生成所述电子文档。
16.根据权利要求12所述的机器可读介质,其中,基于包括以下各项中的一项或多项的预定准则,所述一个或多个窗口被确定为是非活动的:所述一个或多个窗口的z顺序深度、正被隐藏的所述一个或多个窗口的至少阈值量、生成所述一个或多个窗口的预定类型的过程、由所述一个或多个窗口所提供的预定类型的用户界面、由即将结束的所述一个或多个窗口所提供的音频或视频数据流、所述一个或多个窗口中的像素的缺少、满足资源的预定阈值利用的所述一个或多个窗口的资源利用以及在所述一个或多个窗口中正被执行的预定类型的用户活动。
17.根据权利要求16所述的机器可读介质,其中,基于所述一个或多个窗口在预定时间段未接收到用户交互,所述一个或多个窗口进一步被确定为是非活动的,其中,所述预定时间段由所述预定准则修改。
18.一种系统,包括:
一个或多个处理器;以及
存储器,所述存储器具有被存储在其上的指令,所述指令当由所述一个或多个处理器执行时,使得所述一个或多个处理器执行方法,所述方法包括:
确定在虚拟桌面上被显示的一个或多个窗口是非活动的,所述一个或多个窗口与一个或多个相应过程相对应;以及
响应于确定所述一个或多个窗口是非活动的,存储用于所述一个或多个过程的状态信息并且终止所述一个或多个窗口和所述一个或多个相应过程,
其中,所述状态信息包括用于在存在于与所述终止相对应的时间点处的状态中重新开始所述一个或多个相应过程和重新生成所述一个或多个窗口的信息。
19.根据权利要求18所述的系统,所述方法进一步包括:
在所述虚拟桌面上的过程管理界面中显示与被终止的过程相对应的过程表示的第一枚举连同与活动过程相对应的过程表示的第二枚举;
接收将所选择的过程表示从所述第一枚举移动到所述第二枚举的用户手势的指示,所选择的过程表示与被终止的过程相关联;以及
响应于所述指示,使用与所选择的过程表示相关联的所存储的状态信息启动新过程,所述新过程在存在于与被终止的过程何时被终止相对应的时间点处的状态中在所述虚拟桌面上生成窗口。
20.根据权利要求18所述的系统,其中,基于包括以下各项中的一项或多项的预定准则,所述一个或多个窗口被确定为是非活动的:所述一个或多个窗口的z顺序深度、正被隐藏的所述一个或多个窗口的至少阈值量、生成所述一个或多个窗口的预定类型的过程、由所述一个或多个窗口所提供的预定类型的用户界面、由即将结束的所述一个或多个窗口所提供的音频或视频数据流、所述一个或多个窗口中的像素的缺少、满足资源的预定阈值利用的所述一个或多个窗口的资源利用以及在所述一个或多个窗口中正被执行的预定类型的用户活动,以及
其中,基于所述一个或多个窗口在预定时间段未接收到用户交互,所述一个或多个窗口进一步被确定为是非活动的,其中,所述预定时间段由所述预定准则修改。
CN201680024027.1A 2015-09-18 2016-08-03 用于管理非活动窗口的方法、介质和系统 Active CN107787482B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/859,216 US10209851B2 (en) 2015-09-18 2015-09-18 Management of inactive windows
US14/859,216 2015-09-18
PCT/US2016/045393 WO2017048391A1 (en) 2015-09-18 2016-08-03 Management of inactive windows

Publications (2)

Publication Number Publication Date
CN107787482A true CN107787482A (zh) 2018-03-09
CN107787482B CN107787482B (zh) 2022-01-28

Family

ID=56684771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680024027.1A Active CN107787482B (zh) 2015-09-18 2016-08-03 用于管理非活动窗口的方法、介质和系统

Country Status (4)

Country Link
US (1) US10209851B2 (zh)
EP (1) EP3350698A1 (zh)
CN (1) CN107787482B (zh)
WO (1) WO2017048391A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190532A (zh) * 2019-12-31 2020-05-22 北京奇才天下科技有限公司 一种基于手势识别的交互方法、装置和电子设备
CN113168338A (zh) * 2018-12-05 2021-07-23 思杰系统有限公司 从用户设备提供最近的应用视图
WO2023116415A1 (zh) * 2021-12-22 2023-06-29 华为技术有限公司 一种应用程序的抑制方法和电子设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105892817B (zh) * 2016-04-01 2020-05-29 腾讯科技(深圳)有限公司 应用程序中窗口的控制方法和装置
US11294530B2 (en) * 2017-08-07 2022-04-05 Microsoft Technology Licensing, Llc Displaying a translucent version of a user interface element
US11055110B2 (en) * 2018-06-05 2021-07-06 Microsoft Technology Licensing, Llc Operating system service for persistently executing programs
CN112882886A (zh) * 2019-11-29 2021-06-01 北京沃东天骏信息技术有限公司 一种软件使用时长的统计方法和装置
CN113495651B (zh) * 2020-03-20 2024-05-21 北京京东振世信息技术有限公司 一种窗口控制方法和装置
CN113676709B (zh) * 2020-05-14 2023-10-27 聚好看科技股份有限公司 智能投影设备及多屏显示方法
US11422668B1 (en) * 2021-03-26 2022-08-23 Slack Technologies, Llc Seamless application updates

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113444A1 (en) * 2007-10-31 2009-04-30 Google Inc. Application Management
US20100077347A1 (en) * 2008-09-25 2010-03-25 Microsoft Corporation Displaying application information in an application-switching user interface
US20100115334A1 (en) * 2008-11-05 2010-05-06 Mark Allen Malleck Lightweight application-level runtime state save-and-restore utility
US20100317406A1 (en) * 2006-12-28 2010-12-16 Kyocera Corporation Mobile information terminal
CN102508609A (zh) * 2011-11-17 2012-06-20 潘天华 一种控制电脑应用程序窗口显示与隐藏的方法
US20120167117A1 (en) * 2010-12-28 2012-06-28 Microsoft Corporation Storing and resuming application runtime state
CN103197962A (zh) * 2012-01-04 2013-07-10 中国移动通信集团公司 多进程状态切换方法和装置
CN103197842A (zh) * 2013-04-15 2013-07-10 广州博冠信息科技有限公司 一种应用程序窗口的控制方法及装置
CN104216753A (zh) * 2014-10-10 2014-12-17 深圳市东方拓宇科技有限公司 一种终端的快捷启动应用程序的方法及该终端
CN107533568A (zh) * 2015-09-15 2018-01-02 谷歌有限责任公司 确定应用缩放等级的系统和方法
US20200326839A1 (en) * 2019-04-15 2020-10-15 Apple Inc. Systems, Methods, and User Interfaces for Interacting with Multiple Application Windows

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE365944T1 (de) 1999-10-26 2007-07-15 Iontas Ltd Überwachung von rechnerbenutzung
US20060074658A1 (en) 2004-10-01 2006-04-06 Siemens Information And Communication Mobile, Llc Systems and methods for hands-free voice-activated devices
US20060248471A1 (en) 2005-04-29 2006-11-02 Microsoft Corporation System and method for providing a window management mode
US7454352B2 (en) 2005-05-20 2008-11-18 General Motors Corporation Method and system for eliminating redundant voice recognition feedback
US7757234B2 (en) 2005-10-24 2010-07-13 Sap Aktiengesellschaft Methods and software for a batch processing framework for wizard-based processes
US9436951B1 (en) 2007-08-22 2016-09-06 Amazon Technologies, Inc. Facilitating presentation by mobile device of additional content for a word or phrase upon utterance thereof
US8219406B2 (en) 2007-03-15 2012-07-10 Microsoft Corporation Speech-centric multimodal user interface design in mobile technology
US8862475B2 (en) 2007-04-12 2014-10-14 Nuance Communications, Inc. Speech-enabled content navigation and control of a distributed multimodal browser
US9053489B2 (en) 2007-08-22 2015-06-09 Canyon Ip Holdings Llc Facilitating presentation of ads relating to words of a message
US8296377B1 (en) 2007-08-22 2012-10-23 Canyon IP Holdings, LLC. Facilitating presentation by mobile device of additional content for a word or phrase upon utterance thereof
US8694526B2 (en) 2008-03-18 2014-04-08 Google Inc. Apparatus and method for displaying search results using tabs
US8479105B2 (en) 2008-03-24 2013-07-02 International Business Machines Corporation Managing graphical user interface objects in a computing environment
US9251281B2 (en) 2008-07-29 2016-02-02 International Business Machines Corporation Web browsing using placemarks and contextual relationships in a data processing system
EP2177977B1 (en) * 2008-10-17 2011-03-30 Research In Motion Limited Multi-directional navigation between focus points on a display
EP2224351A1 (en) 2009-02-26 2010-09-01 Telefonaktiebolaget L M Ericsson (publ) method for use in association with a multi-tab interpretation and rendering function
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10540976B2 (en) 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US9110568B2 (en) 2009-10-13 2015-08-18 Google Inc. Browser tab management
US8738377B2 (en) 2010-06-07 2014-05-27 Google Inc. Predicting and learning carrier phrases for speech input
JP2013529794A (ja) 2010-06-24 2013-07-22 本田技研工業株式会社 車載音声認識システム及び車両外音声認識システム間の通信システム及び方法
WO2012027605A2 (en) * 2010-08-27 2012-03-01 Intel Corporation Intelligent remote control system
US8892635B2 (en) 2011-01-06 2014-11-18 Oracle International Corporation Techniques for detecting inactive browser windows
KR101364490B1 (ko) 2011-04-22 2014-02-20 네이버비즈니스플랫폼 주식회사 인터넷 광고에 대해 사용자 혜택을 제공함에 따른 프리미엄을 제거하는 광고 제공 시스템 및 방법
WO2013059906A1 (en) 2011-10-28 2013-05-02 Research In Motion Limited Electronic device management using interdomain profile-based inferences
US20130226590A1 (en) 2012-02-29 2013-08-29 Pantech Co., Ltd. Voice input apparatus and method
US20130238326A1 (en) 2012-03-08 2013-09-12 Lg Electronics Inc. Apparatus and method for multiple device voice control
EP2639792A1 (en) 2012-03-16 2013-09-18 France Télécom Voice control of applications by associating user input with action-context idendifier pairs
US9020825B1 (en) 2012-09-25 2015-04-28 Rawles Llc Voice gestures
KR20140070040A (ko) * 2012-11-30 2014-06-10 삼성전자주식회사 터치스크린 상에 표시되는 복수의 객체들을 관리하는 장치 및 방법
US20140189572A1 (en) 2012-12-31 2014-07-03 Motorola Mobility Llc Ranking and Display of Results from Applications and Services with Integrated Feedback
CN105027190B (zh) * 2013-01-03 2019-06-21 美达视野股份有限公司 用于虚拟或增强介导视觉的射出空间成像数字眼镜
US9165566B2 (en) 2013-01-24 2015-10-20 Microsoft Technology Licensing, Llc Indefinite speech inputs
US9361885B2 (en) 2013-03-12 2016-06-07 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9112984B2 (en) 2013-03-12 2015-08-18 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9123345B2 (en) 2013-03-14 2015-09-01 Honda Motor Co., Ltd. Voice interface systems and methods
KR102115397B1 (ko) * 2013-04-01 2020-05-26 삼성전자주식회사 휴대 장치 및 휴대 장치의 재생목록 표시 방법
US20140302470A1 (en) * 2013-04-08 2014-10-09 Healthy Connections, Inc Managing lifestyle resources system and method
US9626087B2 (en) 2013-06-09 2017-04-18 Apple Inc. Device, method, and graphical user interface for navigating between user interfaces
KR102163684B1 (ko) * 2013-07-19 2020-10-12 삼성전자주식회사 디바이스의 홈 스크린 구성 방법 및 장치
US20150199965A1 (en) 2014-01-16 2015-07-16 CloudCar Inc. System and method for recognition and automatic correction of voice commands
US9615122B2 (en) 2014-01-30 2017-04-04 Echostar Technologies L.L.C. Methods and apparatus to synchronize second screen content with audio/video programming using closed captioning data
US9837075B2 (en) 2014-02-10 2017-12-05 Mitsubishi Electric Research Laboratories, Inc. Statistical voice dialog system and method
US9582246B2 (en) 2014-03-04 2017-02-28 Microsoft Technology Licensing, Llc Voice-command suggestions based on computer context
US9892096B2 (en) 2014-03-06 2018-02-13 International Business Machines Corporation Contextual hyperlink insertion
US9288321B2 (en) 2014-03-07 2016-03-15 Paypal, Inc. Interactive voice response interface for webpage navigation
RU2014111971A (ru) 2014-03-28 2015-10-10 Юрий Михайлович Буров Способ и система голосового интерфейса
US9971765B2 (en) 2014-05-13 2018-05-15 Nuance Communications, Inc. Revising language model scores based on semantic class hypotheses
US20160004501A1 (en) 2014-07-01 2016-01-07 Honeywell International Inc. Audio command intent determination system and method
US20160147400A1 (en) 2014-11-26 2016-05-26 Microsoft Technology Licensing, Llc Tab based browser content sharing
US9939997B2 (en) 2014-12-10 2018-04-10 International Business Machines Corporation Transitioning browser tabs from one environment context to another
CN111414222A (zh) * 2014-12-11 2020-07-14 微软技术许可有限责任公司 能够实现可动作的消息传送的虚拟助理系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100317406A1 (en) * 2006-12-28 2010-12-16 Kyocera Corporation Mobile information terminal
US20090113444A1 (en) * 2007-10-31 2009-04-30 Google Inc. Application Management
US20100077347A1 (en) * 2008-09-25 2010-03-25 Microsoft Corporation Displaying application information in an application-switching user interface
US20100115334A1 (en) * 2008-11-05 2010-05-06 Mark Allen Malleck Lightweight application-level runtime state save-and-restore utility
US20120167117A1 (en) * 2010-12-28 2012-06-28 Microsoft Corporation Storing and resuming application runtime state
CN102508609A (zh) * 2011-11-17 2012-06-20 潘天华 一种控制电脑应用程序窗口显示与隐藏的方法
CN103197962A (zh) * 2012-01-04 2013-07-10 中国移动通信集团公司 多进程状态切换方法和装置
CN103197842A (zh) * 2013-04-15 2013-07-10 广州博冠信息科技有限公司 一种应用程序窗口的控制方法及装置
CN104216753A (zh) * 2014-10-10 2014-12-17 深圳市东方拓宇科技有限公司 一种终端的快捷启动应用程序的方法及该终端
CN107533568A (zh) * 2015-09-15 2018-01-02 谷歌有限责任公司 确定应用缩放等级的系统和方法
US20200326839A1 (en) * 2019-04-15 2020-10-15 Apple Inc. Systems, Methods, and User Interfaces for Interacting with Multiple Application Windows
CN112346801A (zh) * 2019-04-15 2021-02-09 苹果公司 用于与多个应用程序窗口交互的系统、方法和用户界面

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R. MORI等: "Memory consumption saving by optimization of promotion condition of generational GC in android", 《2017 IEEE 6TH GLOBAL CONFERENCE ON CONSUMER ELECTRONICS (GCCE)》 *
徐超等: "基于资源预测的智能终端资源缓存算法", 《计算机工程》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113168338A (zh) * 2018-12-05 2021-07-23 思杰系统有限公司 从用户设备提供最近的应用视图
CN111190532A (zh) * 2019-12-31 2020-05-22 北京奇才天下科技有限公司 一种基于手势识别的交互方法、装置和电子设备
WO2023116415A1 (zh) * 2021-12-22 2023-06-29 华为技术有限公司 一种应用程序的抑制方法和电子设备

Also Published As

Publication number Publication date
CN107787482B (zh) 2022-01-28
EP3350698A1 (en) 2018-07-25
US20170083166A1 (en) 2017-03-23
WO2017048391A1 (en) 2017-03-23
US10209851B2 (en) 2019-02-19

Similar Documents

Publication Publication Date Title
CN107787482A (zh) 非活动窗口的管理
US9952761B1 (en) System and method for processing touch actions
US10572103B2 (en) Timeline view of recently opened documents
US9098183B2 (en) Drag and drop application launches of user interface objects
CN105144063B (zh) 软件应用的自动保存模式及手动保存模式
CN103649875B (zh) 通过基于上下文的菜单上的动作来管理内容
US11789605B2 (en) Context based gesture actions on a touchscreen
US9529517B2 (en) Movable information panels
US9013366B2 (en) Display environment for a plurality of display devices
US20090307693A1 (en) System and method to dynamically manage applications on a processing system
US20210311597A1 (en) Multi-spatial overview mode
US9436385B2 (en) Invocation control over keyboard user interface
US11847409B2 (en) Management of presentation content including interjecting live feeds into presentation content
US8387050B2 (en) System and method to dynamically manage applications on a processing system
CN102402577A (zh) 可拖动标签
US20150193061A1 (en) User's computing experience based on the user's computing activity
US9836983B2 (en) System and method for recording and playback of interactions on a computing device
US8856675B1 (en) User interface with hierarchical window display
CN107797833A (zh) 智能设备上应用程序的界面显示方法
US20110107256A1 (en) Zooming Task Management
US9335905B1 (en) Content selection feedback
US9323452B2 (en) System and method for processing touch input
US9606720B1 (en) System and method for providing a preview of a digital photo album
US11010042B2 (en) Display of different versions of user interface element
US10656818B1 (en) Animation to indicate scrollable content

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