CN102063302B - 窗口管理方法、***及终端 - Google Patents
窗口管理方法、***及终端 Download PDFInfo
- Publication number
- CN102063302B CN102063302B CN201010613361.5A CN201010613361A CN102063302B CN 102063302 B CN102063302 B CN 102063302B CN 201010613361 A CN201010613361 A CN 201010613361A CN 102063302 B CN102063302 B CN 102063302B
- Authority
- CN
- China
- Prior art keywords
- window
- identification information
- stack
- application program
- privately owned
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种窗口管理方法,可以包括:通过***窗口栈存储所有应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;根据***窗口栈中应用程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,可以对所有窗口的顺序进行排列。本发明还提供窗口管方法、***以及一种终端。根据本发明,能够针对嵌入式环境,快速有效地管理窗口的次序,同时降低窗口的管理工作的功耗。
Description
技术领域
本发明涉及图形***的窗口管理,具体而言,涉及窗口管理方法、***以及终端。
背景技术
图形用户接口(Graphical User Interface,GUI)作为一种广泛使用的人机交互方式,提供了良好的用户体验。
窗口***作为操作***的一个组件,提供了图形用户接口的支持环境,典型的功能有:
1)各种应用程序向窗口***提出绘图请求,窗口***负责各种窗口部件(例如文本框、按钮等)的绘制;
2)对图形硬件和输入设备(如鼠标、键盘、触摸屏)的读写操作;
3)实现了一个窗口管理器(Windows Manager,WM)组件。
窗口管理器提供了对窗口的各种操作(例如打开、关闭、最大化、最小化等),其中最重要的一项任务就是对***中的各个窗口的相互关系进行管理(例如,窗口之间的叠加等)。
对于实现该任务,通常的方法为:
维护一个包含所有打开的窗口的栈结构,这个窗口栈是按一个假想的轴定位的,这个轴就是从屏幕向外伸展的Z轴。窗口标识信息沿着Z轴方向存储在栈中,窗口标识信息的这种排列顺序叫做Z序。Z序最上面的对应窗口覆盖所有其它的窗口,Z序最底层的对应窗口被所有其它的窗口覆盖。
多种应用程序的窗口的分布示意图如图1所示,其中,每个应用程序可以对应一个或多个窗口。
按照上述方法对所有窗口管理操作是在一个窗口栈结构上进行的,复杂度低,易于实现。栈的结构如图2所示,即按照图2中的栈中的每个窗口的标识信息的排列顺序,对窗口进行排列,如应用程序1的窗口2排在所有窗口的最上层,应用程序2的窗口1排在所有窗口的最下层。
在通过以上方法实现的现有窗口***移植到嵌入式设备中时,由于嵌入式设备的计算能力比较低,对功耗敏感,如图2示出的窗口管理***的管理机制具有一定的局限性:
当多个应用程序运行时候,操作***中可能会存在多个窗口,每一个窗口都会在窗口管理器的窗口栈上产生一个对应单元,即标识信息,使得栈中的单元比较多。当这些窗口间的相对次序发生变化时,对栈进行操作的时间开销和内存开销都比较大。
因此,需求一种针对于嵌入式环境的窗口管理方式,能够快速有效地管理窗口的次序,同时降低窗口的管理工作的功耗。
发明内容
本发明所要解决的技术问题在于,需求一种针对于嵌入式环境的窗口管理方式,能够快速有效地管理窗口的次序,同时降低窗口的管理工作的功耗。
有鉴于此,本发明提供一种窗口管理方法,可以包括:通过***窗口栈存储所有应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;根据***窗口栈中应用程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,可以对所有窗口的顺序进行排列。通过该技术方案,使窗口次序的改变仅涉及到***窗口栈的一个私有窗口栈中的标识信息操作,而其他私有窗口栈中的标识信息无需改动,占用的资源更少。
在上述技术方案中,优选地,对所有窗口的顺序进行排列可以包括:对于***窗口栈中的任意两个应用程序的标识信息,将高地址标识信息对应的应用程序的所有窗口均置于低地址标识信息对应的应用程序的所有窗口之上或之下;和/或对于每个私有窗口栈中的任意两个窗口的标识信息,将高地址标识信息对应的窗口置于低地址标识信息对应的窗口之上或之下。
在上述技术方案中,优选地,窗口管理方法还可以包括:启动应用程序时,在***窗口栈中存储应用程序的标识信息,并为应用程序创建私有窗口栈;创建应用程序的窗口时,在私有窗口栈中添加窗口的标识信息;关闭窗口时,在私有窗口栈中删除窗口的标识信息;退出应用程序时,删除私有窗口栈,并在***窗口栈中删除应用程序的标识信息。
在上述技术方案中,优选地,每个应用程序的标识信息包括应用标识和私有窗口栈指针等,应用标识指向每个应用程序,应用标识包括每个应用程序的进程号等,私有窗口栈指针指向每个应用程序对应的私有窗口栈;每个窗口的标识信息包括窗口标识等,窗口标识指向.每个窗口,窗口标识包括每个窗口的实际存储地址等。通过该技术方案,使得***窗口栈和私有窗口栈中的标识信息更小,有利于提高栈操作的效率。本领域技术人员应当理解,应用程序的标识信息和窗口的标识信息包括但不限于上述内容。
本发明还提供一种窗口管理方法,包括:通过***窗口栈存储所有子***窗口栈的标识信息,通过每个子***窗口栈存储一个或多个应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;根据***窗口栈中子***窗口堆栈的标识信息的排列顺序,每个子***窗口栈中应用程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列。本领域技术人员应当理解,根据该技术方案,更多级的栈可以用于对窗口的次序变化进行管理,以减少窗口次序变化占用的资源。
在上述技术方案中,优选地,一个或多个应用程序的类型相同。通过该技术方案,同类型的应用程序的窗口切换涉及对应的子***窗口栈中的标识信息操作,而其他子***窗口栈中标识信息则无需操作,使得窗口切换的效率提高,占用的资源更少。
本发明还提供一种窗口管理***,包括:栈管理模块,通过***窗口栈存储所有应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;窗口排列模块,根据***窗口栈中应用程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列。通过该技术方案,使窗口次序的改变仅涉及到***窗口栈的一个私有窗口栈中的标识信息操作,而其他私有窗口栈中的标识信息无需改动,占用的资源更少。
在上述技术方案中,优选地,对于***窗口栈中的任意两个应用程序的标识信息,窗口排列模块将高地址标识信息对应的应用程序的所有窗口均置于低地址标识信息对应的应用程序的所有窗口之上或之下;和/或对于每个私有窗口栈中的任意两个窗口的标识信息,窗口排列模块将高地址标识信息对应的窗口位于低地址标识信息对应的窗口之上或之下。
在上述技术方案中,优选地,启动应用程序时,栈管理模块在***窗口栈中存储应用程序的标识信息,并为应用程序创建私有窗口栈;创建应用程序的窗口时,栈管理模块在私有窗口栈中添加窗口的标识信息;关闭窗口时,栈管理模块在私有窗口栈中删除窗口的标识信息;退出应用程序时,栈管理模块删除私有窗口栈,并在***窗口栈中删除应用程序的标识信息。
在上述技术方案中,优选地,每个应用程序的标识信息包括应用标识和私有窗口栈指针等,应用标识指向每个应用程序,应用标识包括每个应用程序的进程号等,私有窗口栈指针指向每个应用程序对应的私有窗口栈;每个窗口的标识信息包括窗口标识等,窗口标识指向每个窗口,窗口标识包括每个窗口的实际存储地址等。通过该技术方案,使得***窗口栈和私有窗口栈中的标识信息更小,有利于提高栈操作的效率。本领域技术人员应当理解,应用程序的标识信息和窗口的标识信息包括但不限于上述内容。
本发明还提供一种窗口管理***,包括:栈管理模块,通过***窗口栈存储所有子***窗口栈的标识信息,通过每个子***窗口栈存储一个或多个应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;窗口排列模块,根据***窗口栈中应用程序的标识信息的排列顺序,每个子***窗口栈中窗口的标识信息的排列顺序,以及每个私有窗口栈中的标识信息的排列顺序,对所有窗口的顺序进行排列。本领域技术人员应当理解,根据该技术方案,更多级的栈可以用于对窗口的次序变化进行管理,以减少窗口次序变化占用的资源。
在上述技术方案中,优选地,一个或多个应用程序的类型相同。通过该技术方案,同类型的应用程序的窗口切换,涉及对应的子***窗口栈中的标识信息操作,而其他子***窗口栈中标识信息则无需操作,使得窗口切换的效率提高,占用的资源更少。
本发明还提供一种终端,包括:上述的窗口管理***。
通过上述技术方案,可以通过两级或多级的栈结构对窗口的次序变化进行管理,使得窗口的次序变化只涉及较少的栈中的标识信息操作,而其他栈中的标识信息则无需操作,而只使用一个栈进行窗口管理的方式可能导致大量的窗口标识信息的变动,本发明的技术方案占用的资源大幅减少,可以针对嵌入式环境,快速有效地管理窗口次序,降低窗口管理工作的功耗。
附图说明
图1是现有技术中多个窗口的分布示意图;
图2是现有技术中窗口管理***中采用的窗口栈的示意图;
图3是根据本发明的一个实施例的窗口管理方法的流程图;
图4是根据本发明的一个实施例的窗口管理方法的流程图;
图5是根据本发明的一个实施例的窗口管理***的框图;
图6是根据本发明的一个实施例的窗口管理***的框图;
图7是根据本发明的一个实施例的窗口管理方法的***窗口栈的示意图;
图8是根据本发明的一个实施例的窗口管理方法的***窗口栈和私有窗口栈的示意图;
图9是根据本发明的一个实施例的窗口管理方法的***窗口栈和私有窗口栈的示意图;
图10是根据本发明的一个实施例的窗口管理方法的***窗口栈和私有窗口栈的示意图;
图11是根据本发明的一个实施例的窗口管理方法的***窗口栈和私有窗口栈的示意图;
图12是根据本发明的一个实施例的终端中窗口管理***的***窗口栈、子***窗口栈和私有窗口栈的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图3是根据本发明的一个实施例的窗口管理方法的流程图。
如图3所示,本发明提供一种窗口管理方法,可以包括:步骤302,通过***窗口栈存储所有应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;步骤304,根据***窗口栈中应用程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,可以对所有窗口的顺序进行排列。
在上述技术方案中,所述步骤304中对所有窗口的顺序进行排列可以包括:对于***窗口栈中的任意两个应用程序的标识信息,将高地址标识信息(即存储在栈内的较高地址的标识信息)对应的应用程序的所有窗口均置于低地址标识信息(即存储在栈内的较低地址的标识信息)对应的应用程序的所有窗口之上或之下;和/或对于每个私有窗口栈中的任意两个窗口的标识信息,将高地址标识信息对应的窗口置于低地址标识信息对应的窗口之上或之下。
在上述技术方案中,窗口管理方法还可以包括:启动应用程序时,在***窗口栈中存储应用程序的标识信息,并为应用程序创建私有窗口栈;创建应用程序的窗口时,在私有窗口栈中添加窗口的标识信息;关闭窗口时,在私有窗口栈中删除窗口的标识信息;退出应用程序时,删除私有窗口栈,并在***窗口栈中删除应用程序的标识信息。
在上述技术方案中,每个应用程序的标识信息包括应用标识和私有窗口栈指针等,应用标识指向每个应用程序,应用标识包括每个应用程序的进程号等,私有窗口栈指针指向每个应用程序对应的私有窗口栈;每个窗口的标识信息包括窗口标识等,窗口标识指向每个窗口,窗口标识包括每个窗口的实际存储地址等。本领域技术人员应当理解,应用程序的标识信息和窗口的标识信息包括但不限于上述内容。
通过上述技术方案,采用包括***窗口栈和私有窗口栈的两级栈结构,使窗口次序的改变仅涉及到***窗口栈的一个私有窗口栈中的标识信息操作,而其他私有窗口栈中的标识信息无需改动,占用的资源更少。同时,由于栈中的标识信息更小,使得***窗口栈和私有窗口栈中的标识信息更小,有利于提高栈操作的效率。
图4是根据本发明的一个实施例的窗口管理方法的流程图。
如图4所示,本发明还提供一种窗口管理方法,包括:步骤402,通过***窗口栈存储所有子***窗口栈的标识信息,通过每个子***窗口栈存储一个或多个应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;步骤404,根据***窗口栈中子***窗口堆栈的标识信息的排列顺序,每个子***窗口栈中应用程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列。
在上述技术方案中,一个或多个应用程序的类型相同。
通过上述技术方案,采用三级栈结构(***窗口栈、子***窗口栈、私有窗口栈),除具备图3实施例的两级栈结构的优点外,同类型的应用程序的窗口切换涉及对应的子***窗口栈中的标识信息操作,而其他子***窗口栈中标识信息则无需操作,使得窗口切换的效率提高,占用的资源更少。本领域技术人员应当理解,根据该技术方案,更多级的栈可以用于对窗口的次序变化进行管理,以减少窗口次序变化占用的资源。
图5是根据本发明的一个实施例的窗口管理***的框图。
如图5所示,本发明还提供一种窗口管理***500,包括:栈管理模块502,通过***窗口栈存储所有应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;窗口排列模块504,根据***窗口栈中应用程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列。
在上述技术方案中,对于***窗口栈中的任意两个应用程序的标识信息,窗口排列模块504将高地址标识信息对应的应用程序的所有窗口均置于低地址标识信息对应的应用程序的所有窗口之上或之下;和/或对于每个私有窗口栈中的任意两个窗口的标识信息,窗口排列模块504将高地址标识信息对应的窗口位于低地址标识信息对应的窗口之上或之下。
在上述技术方案中,启动应用程序时,栈管理模块502在***窗口栈中存储应用程序的标识信息,并为应用程序创建私有窗口栈;创建应用程序的窗口时,栈管理模块502在私有窗口栈中添加窗口的标识信息;关闭窗口时,栈管理模块502在私有窗口栈中删除窗口的标识信息;退出应用程序时,栈管理模块502删除私有窗口栈,并在***窗口栈中删除应用程序的标识信息。
在上述技术方案中,每个应用程序的标识信息包括应用标识和私有窗口栈指针等,应用标识指向每个应用程序,应用标识包括每个应用程序的进程号等,私有窗口栈指针指向每个应用程序对应的私有窗口栈;每个窗口的标识信息包括窗口标识等,窗口标识指向每个窗口,窗口标识包括每个窗口的实际存储地址等。
通过上述技术方案,采用包括***窗口栈和私有窗口栈的两级栈结构,使窗口次序的改变仅涉及到***窗口栈的一个私有窗口栈中的标识信息操作,而其他私有窗口栈中的标识信息无需改动,占用的资源更少。同时,由于栈中的标识信息更小,使得***窗口栈和私有窗口栈中的标识信息更小,有利于提高栈操作的效率。
图6是根据本发明的一个实施例的窗口管理***的框图。
如图6所示,本发明还提供一种窗口管理***600,包括:栈管理模块602,通过***窗口栈存储所有子***窗口栈的标识信息,通过每个子***窗口栈存储一个或多个应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;窗口排列模块604,根据***窗口栈中子***窗口堆栈的标识信息的排列顺序,每个子***窗口栈中应用程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列。
在上述技术方案中,一个或多个应用程序的类型相同。
通过上述技术方案,采用三级栈结构(***窗口栈、子***窗口栈、私有窗口栈),除具备图5实施例的两级栈结构的优点外,同类型的应用程序的窗口切换涉及对应的子***窗口栈中的标识信息操作,而其他子***窗口栈中标识信息则无需操作,使得窗口切换的效率提高,占用的资源更少。本领域技术人员应当理解,根据该技术方案,更多级的栈可以用于对窗口的次序变化进行管理,以减少窗口次序变化占用的资源。
图7至图11是根据本发明的一个实施例的窗口管理方法的示意图。
本实施例提出了基于两级栈结构的窗口管理方法:
其原理为:在操作***中维护一个以应用程序为单位的***窗口栈结构,其反映了正在运行的应用程序的显示顺序,例如,***窗口栈内最顶部的应用程序的所有窗口都排在其他应用程序的窗口之上。操作***中运行三个图形应用程序,每个应用程序有两个打开的窗口,那么一个可能的***窗口栈就如图7所示。
对于每个处于运行状态的图形应用程序,维护一个该应用程序打开的所有窗口的私有窗口栈结构,其反映了同一个应用程序的所有窗口之间的层次关系,例如,位于私有窗口栈栈顶的窗口在同应用的其他窗口之上。如图8所示,为图7中的应用1的一个可能的窗口栈。
下面对本实施例提出的基于两级栈结构的窗口管理方法进行详细的说明,如图9所示,为***窗口栈和私有窗口栈的详细示意图。
结合图9,本实施例的窗口管理方法的管理过程为:
在一个带有图形用户界面的应用程序启动时,为其创建一个私有窗口栈(该应用程序至少包含一个窗口,即该应用程序的主窗口)用于管理该应用程序内的各个窗口。在***窗口栈存储该图形应用程序的标识信息,为提高效率,该标识信息可以是应用程序的索引信息(即用于检索出该应用程序的必要内容,此处标识信息也可以包括应用程序中的其他内容,例如可以将应用程序的全部内容作为标识信息存入栈内),索引信息至少包含如下:应用程序的应用标识(可以使用进程号(process id,即pid)作为应用标识,图9中即采用应用程序的进程号作为应用标识),以及指向该应用程序的私有窗口栈的指针,例如,该指针具体可以指向栈顶索引信息;同时在该应用程序的私有窗口栈中存储该应用程序的窗口的标识信息,该标识信息同样可以采用索引信息,每个索引信息对应这个应用程序中已经打开的窗口。私有窗口栈中的索引信息应至少包含如下信息:窗口标识,指向对应的窗口,可以是窗口的实际存储地址。
用户对窗口的操作包括以下情况:
1)用户选中一个窗口,将该窗口置于所有窗口的最上层。例如,如果用户想要将应用程序1对应的窗口3置于所有窗口之上,此时,***窗口栈中,应用程序1的索引信息已经位于栈顶,不需变动,在应用程序1对应的私有窗口栈中,将窗口3的索引信息置于栈顶,即栈内最高地址,而原来位于窗口3的索引信息之上的窗口1、窗口2的索引信息则均向低地址下移一层。其他应用程序对应的私有窗口栈中无需做任何变动。
如果用户想要应用程序2的窗口2置于所有窗口的最上层的话,则在***窗口栈中,将应用程序2的索引信息置于栈顶,同时将原来位于应用程序2的索引信息之上的应用程序1的索引信息向下移动一层,而在应用程序2对应的私有窗口栈中,则将窗口2的索引信息置于栈顶,并将原来位于窗口2的索引信息之上的窗口1的索引信息移至低一层的地址。其他应用程序对应的私有窗口栈中无需做任何变动。
2)用户选择一个窗口进行最小化,处理方式与1)相似。首先确保在***窗口栈中,该窗口对应的应用程序的索引信息在最低地址,同时在该应用程序对应的私有窗口栈中,确保该窗口的索引信息位于栈底地址。
通过上述说明,可以发现,通过***窗口栈和私有窗口栈两个级别的栈结构,在对窗口进行操作时,仅***窗口栈和一个私有窗口栈中的信息数据需要进行移动操作,其他窗口栈中的信息数据则不需变动,这使得用户的窗口操作所占用的资源极少,尤其适用于在嵌入式的环境下打开大量窗口。而且,由于应用程序的索引信息、窗口的索引信息内容简单,更有利于提高窗口操作的效率。
图12是根据本发明的一个实施例的终端中窗口管理***的***窗口栈、子***窗口栈和私有窗口栈的示意图。
如图12所示,本实施例中的终端中,窗口管理***提供采用多级别的窗口堆栈方案的窗口管理方法,将***窗口堆栈按照优先级别分为多个子***窗口堆栈,实现三级窗口堆栈的管理方案(***窗口堆栈、子***窗口堆栈、应用程序对应的私有窗口堆栈)。
子***窗口栈中的应用程序的划分可以根据如下标准:用户对应用程序响应时间的要求。本领域技术人员应当理解,可按照多种标准将应用程序划分入对应的子***窗口栈,不限于响应时间。
例如,终端的***中启动了三个软件:应用导航软件、多媒体播放器和小游戏,按照对响应时间的要求划分,则游戏的标识信息由子***窗口栈2管理,导航软件、多媒体播放器的信息由子***窗口栈1管理。当***进行窗口切换时,在导航软件、多媒体播放器之间的窗口切换会取得更短的切换时间。
本领域技术人员应当理解,本实施例中的基于***窗口栈、子***窗口栈、应用的私有窗口栈的三个级别的栈结构的窗口管理方法并不用于限制本发明,根据实际需要,根据本发明可得到基于更多级别的栈结构的窗口管理方法。
随着以手持设备为代表的嵌入式设备进一步普及,消费者在满足基本工作、学习和娱乐等需求的同时,对用户体验的要求不断增高。本发明提出的基于多级别的窗口栈的窗口管理方案,降低了窗口管理的计算资源消耗,进而减少了设备的功耗;另一方面,减少了窗口管理操作的时间,提高图形界面对用户操作的响应速度。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种窗口管理方法,其特征在于,包括:
通过***窗口栈存储所有应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,所述每个私有窗口栈与所述每个应用程序一一对应;
根据所述***窗口栈中应用程序的标识信息的排列顺序,以及所述每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列;
其中,所述对所有窗口的顺序进行排列包括:
对于所述***窗口栈中的任意两个应用程序的标识信息,将高地址标识信息对应的应用程序的所有窗口均置于低地址标识信息对应的应用程序的所有窗口之上或之下;和/或
对于所述每个私有窗口栈中的任意两个窗口的标识信息,将高地址标识信息对应的窗口位于低地址标识信息对应的窗口之上或之下。
2.根据权利要求1所述的窗口管理方法,其特征在于,所述窗口管理方法还包括:
启动应用程序时,在所述***窗口栈中存储所述应用程序的标识信息,并为所述应用程序创建私有窗口栈;
创建所述应用程序的窗口时,在所述私有窗口栈中添加所述窗口的标识信息;
关闭所述窗口时,在所述私有窗口栈中删除所述窗口的标识信息;
退出所述应用程序时,删除所述私有窗口栈,并在所述***窗口栈中删除所述应用程序的标识信息。
3.根据权利要求1或2所述的窗口管理方法,其特征在于,每个应用程序的标识信息包括应用标识和私有窗口栈指针,所述应用标识指向所述每个应用程序,所述私有窗口栈指针指向所述每个应用程序对应的私有窗口栈;
每个窗口的标识信息包括窗口标识,所述窗口标识指向所述每个窗口。
4.一种窗口管理方法,其特征在于,包括:
通过***窗口栈存储所有子***窗口栈的标识信息,通过每个子***窗口栈存储一个或多个应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,所述每个私有窗口栈与所述每个应用程序一一对应;
根据所述***窗口栈中子***窗口栈的标识信息的排列顺序,所述每个子***窗口栈中应用程序的标识信息的排列顺序,以及所述每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列。
5.根据权利要求4所述的窗口管理方法,其特征在于,所述一个或多个应用程序的类型相同。
6.一种窗口管理***,其特征在于,包括:
栈管理模块,通过***窗口栈存储所有应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,所述每个私有窗口栈与所述每个应用程序一一对应;
窗口排列模块,根据所述***窗口栈中应用程序的标识信息的排列顺序,以及所述每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列;
其中,对于所述***窗口栈中的任意两个应用程序的标识信息,所述窗口排列模块将高地址标识信息对应的应用程序的所有窗口均置于低地址标识信息对应的应用程序的所有窗口之上或之下;和/或
对于所述每个私有窗口栈中的任意两个窗口的标识信息,所述窗口排列模块将高地址标识信息对应的窗口位于低地址标识信息对应的窗口之上或之下。
7.根据权利要求6所述的窗口管理***,其特征在于,启动应用程序时,所述栈管理模块在所述***窗口栈中存储所述应用程序的标识信息,并为所述应用程序创建私有窗口栈;
创建所述应用程序的窗口时,所述栈管理模块在所述私有窗口栈中添加所述窗口的标识信息;
关闭所述窗口时,所述栈管理模块在所述私有窗口栈中删除所述窗口的标识信息;
退出所述应用程序时,所述栈管理模块删除所述私有窗口栈,并在所述***窗口栈中删除所述应用程序的标识信息。
8.一种窗口管理***,其特征在于,包括:
栈管理模块,通过***窗口栈存储所有子***窗口栈的标识信息,通过每个子***窗口栈存储一个或多个应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,所述每个私有窗口栈与所述每个应用程序一一对应;
窗口排列模块,根据所述***窗口栈中子***窗口栈的标识信息的排列顺序,所述每个子***窗口栈中应用程序的标识信息的排列顺序,以及所述每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列。
9.根据权利要求8所述的窗口管理***,其特征在于,所述一个或多个应用程序的类型相同。
10.一种终端,其特征在于,包括:
权利要求6至9中任一项所述的窗口管理***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010613361.5A CN102063302B (zh) | 2010-12-20 | 2010-12-20 | 窗口管理方法、***及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010613361.5A CN102063302B (zh) | 2010-12-20 | 2010-12-20 | 窗口管理方法、***及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102063302A CN102063302A (zh) | 2011-05-18 |
CN102063302B true CN102063302B (zh) | 2014-07-02 |
Family
ID=43998591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010613361.5A Expired - Fee Related CN102063302B (zh) | 2010-12-20 | 2010-12-20 | 窗口管理方法、***及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063302B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116441B (zh) * | 2013-01-28 | 2016-06-29 | 广东威创视讯科技股份有限公司 | 一种窗口切换方法及装置 |
US11095743B2 (en) | 2014-07-16 | 2021-08-17 | Tensera Networks Ltd. | Optimized content-delivery network (CDN) for the wireless last mile |
US11483415B2 (en) | 2014-07-16 | 2022-10-25 | Tensera Networks Ltd. | Background pre-rendering of user applications |
US11489941B2 (en) | 2014-07-16 | 2022-11-01 | Tensera Networks Ltd. | Pre-loading of user applications including skipping of selected launch actions |
CN104202647A (zh) * | 2014-08-08 | 2014-12-10 | 深圳市同洲电子股份有限公司 | 一种窗口的显示方法及设备 |
CN105786301B (zh) * | 2014-12-23 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 多窗口***下切换显示对象的方法及其装置 |
JP2017010481A (ja) * | 2015-06-26 | 2017-01-12 | シャープ株式会社 | コンテンツ表示装置及びプログラム |
CN106681827B (zh) * | 2016-05-11 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 一种检测软件运行卡慢的方法及装置、电子设备 |
CN106598572B (zh) * | 2016-11-17 | 2018-08-03 | 武汉斗鱼网络科技有限公司 | 一种应用的退出方法及装置 |
WO2019171237A1 (en) | 2018-03-05 | 2019-09-12 | Tensera Networks Ltd. | Application preloading in the presence of user actions |
US11922187B2 (en) | 2018-03-05 | 2024-03-05 | Tensera Networks Ltd. | Robust application preloading with accurate user experience |
CN109151582A (zh) * | 2018-08-16 | 2019-01-04 | 海信电子科技(深圳)有限公司 | 基于Linux机顶盒的多应用管理方法、装置及终端 |
WO2021019415A1 (en) | 2019-07-30 | 2021-02-04 | Tensera Networks Ltd. | Pre-rendering of application user-interfaces in user devices |
WO2022118131A1 (en) | 2020-12-03 | 2022-06-09 | Tensera Networks | Preloading of applications having an existing task |
CN113407293B (zh) * | 2021-08-19 | 2021-11-09 | 北京鲸鲮信息***技术有限公司 | 窗口管理方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6750858B1 (en) * | 1993-10-25 | 2004-06-15 | Object Technology Licensing Corporation | Object-oriented window area display system |
CN1771475A (zh) * | 2003-04-10 | 2006-05-10 | 松下电器产业株式会社 | 窗口堆栈控制方法、窗口管理程序及窗口管理装置 |
CN101241498A (zh) * | 2007-02-06 | 2008-08-13 | 佳能株式会社 | 显示图像控制设备及其控制方法 |
-
2010
- 2010-12-20 CN CN201010613361.5A patent/CN102063302B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6750858B1 (en) * | 1993-10-25 | 2004-06-15 | Object Technology Licensing Corporation | Object-oriented window area display system |
CN1771475A (zh) * | 2003-04-10 | 2006-05-10 | 松下电器产业株式会社 | 窗口堆栈控制方法、窗口管理程序及窗口管理装置 |
CN101241498A (zh) * | 2007-02-06 | 2008-08-13 | 佳能株式会社 | 显示图像控制设备及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102063302A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102063302B (zh) | 窗口管理方法、***及终端 | |
US11741053B2 (en) | Data management system, method, terminal and medium based on hybrid storage | |
CN100456311C (zh) | 用于实施基于内容的文件***安全性的***和方法 | |
CN103703437B (zh) | 用于图像查看应用的方法和设备 | |
CN110287044A (zh) | 无锁共享内存处理方法、装置、电子设备及可读存储介质 | |
CN103177055B (zh) | 存储为行存储和列存储二者的混合数据库表 | |
CN104380256B (zh) | 用于虚拟化与计算机***关联的硬件资源的方法、***和执行代码段 | |
CN102819496B (zh) | 闪存ftl的地址转换方法 | |
CN103186350A (zh) | 混合存储***及热点数据块的迁移方法 | |
CN104731896B (zh) | 一种数据处理方法及*** | |
CN104408163B (zh) | 一种数据分级存储方法和装置 | |
CN106164856A (zh) | 自适应用户交互窗格管理器 | |
CN102646152B (zh) | 一种游戏地图切换方法及*** | |
CN100377117C (zh) | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 | |
CN104035925A (zh) | 数据存储方法、装置和存储*** | |
CN104391947B (zh) | 海量gis数据实时处理方法及*** | |
CN103294407B (zh) | 存储装置和数据读写方法 | |
CN104063224A (zh) | 基于三维gis切换多个精细化控制场景的方法及装置 | |
CN109783321A (zh) | 监控数据管理方法、装置、终端设备 | |
CN102546961A (zh) | 联系人查找方法及移动终端 | |
CN116090408A (zh) | 可加载大数据量表格组件单元格文本内容自适应实现方法 | |
CN105426389A (zh) | 一种基于ui界面树型目录视图的模糊检索定位方法 | |
CN101963953B (zh) | 一种移动富媒体播放器的缓存优化方法 | |
CN109189731A (zh) | 一种联合文件***文件负载均衡方法及装置 | |
CN107291541A (zh) | 面向Key‑Value***的compaction粗粒度进程级并行优化方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee after: BEIJING WATCHDATA Co.,Ltd. Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee before: BEIJING WATCH DATA SYSTEM Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140702 Termination date: 20211220 |