窗口管理方法、系统及终端技术方案

技术编号:5513721 阅读:170 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种窗口管理方法,可以包括:通过系统窗口栈存储所有应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对应;根据系统窗口栈中应用程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,可以对所有窗口的顺序进行排列。本发明专利技术还提供窗口管方法、系统以及一种终端。根据本发明专利技术,能够针对嵌入式环境,快速有效地管理窗口的次序,同时降低窗口的管理工作的功耗。

【技术实现步骤摘要】

本专利技术涉及图形系统的窗口管理,具体而言,涉及窗口管理方法、系统以及终端。
技术介绍
图形用户接口(Graphical User Interface,⑶I)作为一种广泛使用的人机交互 方式,提供了良好的用户体验。窗口系统作为操作系统的一个组件,提供了图形用户接口的支持环境,典型的功 能有1)各种应用程序向窗口系统提出绘图请求,窗口系统负责各种窗口部件(例如文 本框、按钮等)的绘制;2)对图形硬件和输入设备(如鼠标、键盘、触摸屏)的读写操作;3)实现了一个窗口管理器(Windows Manager, WM)组件。窗口管理器提供了对窗口的各种操作(例如打开、关闭、最大化、最小化等),其中 最重要的一项任务就是对系统中的各个窗口的相互关系进行管理(例如,窗口之间的叠加寸J ο对于实现该任务,通常的方法为维护一个包含所有打开的窗口的栈结构,这个窗口栈是按一个假想的轴定位的, 这个轴就是从屏幕向外伸展的Z轴。窗口标识信息沿着Z轴方向存储在栈中,窗口标识信 息的这种排列顺序叫做Z序。Z序最上面的对应窗口覆盖所有其它的窗口,Z序最底层的对 应窗口被所有其它的窗口覆盖。多种应用程序的窗口的分布示意图如图1所示,其中,每个应用程序可以对应一 个或多个窗口。按照上述方法对所有窗口管理操作是在一个窗口栈结构上进行的,复杂度低,易 于实现。栈的结构如图2所示,即按照图2中的栈中的每个窗口的标识信息的排列顺序,对 窗口进行排列,如应用程序1的窗口 2排在所有窗口的最上层,应用程序2的窗口 1排在所 有窗口的最下层。在通过以上方法实现的现有窗口系统移植到嵌入式设备中时,由于嵌入式设备的 计算能力比较低,对功耗敏感,如图2示出的窗口管理系统的管理机制具有一定的局限性当多个应用程序运行时候,操作系统中可能会存在多个窗口,每一个窗口都会在 窗口管理器的窗口栈上产生一个对应单元,即标识信息,使得栈中的单元比较多。当这些窗 口间的相对次序发生变化时,对栈进行操作的时间开销和内存开销都比较大。因此,需求一种针对于嵌入式环境的窗口管理方式,能够快速有效地管理窗口的 次序,同时降低窗口的管理工作的功耗。
技术实现思路
本专利技术所要解决的技术问题在于,需求一种针对于嵌入式环境的窗口管理方式,能够快速有效地管理窗口的次序,同时降低窗口的管理工作的功耗。有鉴于此,本专利技术提供一种窗口管理方法,可以包括通过系统窗口栈存储所有应 用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个 私有窗口栈与每个应用程序一一对应;根据系统窗口栈中应用程序的标识信息的排列顺 序,以及每个私有窗口栈中窗口的标识信息的排列顺序,可以对所有窗口的顺序进行排列。 通过该技术方案,使窗口次序的改变仅涉及到系统窗口栈的一个私有窗口栈中的标识信息 操作,而其他私有窗口栈中的标识信息无需改动,占用的资源更少。在上述技术方案中,优选地,对所有窗口的顺序进行排列可以包括对于系统窗口 栈中的任意两个应用程序的标识信息,将高地址标识信息对应的应用程序的所有窗口均置 于低地址标识信息对应的应用程序的所有窗口之上或之下;和/或对于每个私有窗口栈中 的任意两个窗口的标识信息,将高地址标识信息对应的窗口置于低地址标识信息对应的窗 口之上或之下。在上述技术方案中,优选地,窗口管理方法还可以包括启动应用程序时,在系统 窗口栈中存储应用程序的标识信息,并为应用程序创建私有窗口栈;创建应用程序的窗口 时,在私有窗口栈中添加窗口的标识信息;关闭窗口时,在私有窗口栈中删除窗口的标识信 息;退出应用程序时,删除私有窗口栈,并在系统窗口栈中删除应用程序的标识信息。在上述技术方案中,优选地,每个应用程序的标识信息包括应用标识和私有窗口 栈指针等,应用标识指向每个应用程序,应用标识包括每个应用程序的进程号等,私有窗口 栈指针指向每个应用程序对应的私有窗口栈;每个窗口的标识信息包括窗口标识等,窗口 标识指向.每个窗口,窗口标识包括每个窗口的实际存储地址等。通过该技术方案,使得系 统窗口栈和私有窗口栈中的标识信息更小,有利于提高栈操作的效率。本领域技术人员应 当理解,应用程序的标识信息和窗口的标识信息包括但不限于上述内容。本专利技术还提供一种窗口管理方法,包括通过系统窗口栈存储所有子系统窗口栈 的标识信息,通过每个子系统窗口栈存储一个或多个应用程序的标识信息,通过每个私有 窗口栈存储每个应用程序的所有窗口的标识信息,每个私有窗口栈与每个应用程序一一对 应;根据系统窗口栈中子系统窗口堆栈的标识信息的排列顺序,每个子系统窗口栈中应用 程序的标识信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,对所有 窗口的顺序进行排列。本领域技术人员应当理解,根据该技术方案,更多级的栈可以用于对 窗口的次序变化进行管理,以减少窗口次序变化占用的资源。 在上述技术方案中,优选地,一个或多个应用程序的类型相同。通过该技术方案, 同类型的应用程序的窗口切换涉及对应的子系统窗口栈中的标识信息操作,而其他子系统 窗口栈中标识信息则无需操作,使得窗口切换的效率提高,占用的资源更少。本专利技术还提供一种窗口管理系统,包括栈管理模块,通过系统窗口栈存储所有应 用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,每个 私有窗口栈与每个应用程序一一对应;窗口排列模块,根据系统窗口栈中应用程序的标识 信息的排列顺序,以及每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序 进行排列。通过该技术方案,使窗口次序的改变仅涉及到系统窗口栈的一个私有窗口栈中 的标识信息操作,而其他私有窗口栈中的标识信息无需改动,占用的资源更少。在上述技术方案中,优选地,对于系统窗口栈中的任意两个应用程序的标识信息,窗口排列模块将高地址标识信息对应的应用程序的所有窗口均置于低地址标识信息对应 的应用程序的所有窗口之上或之下;和/或对于每个私有窗口栈中的任意两个窗口的标识 信息,窗口排列模块将高地址标识信息对应的窗口位于低地址标识信息对应的窗口之上或 之下。在上述技术方案中,优选地,启动应用程序时,栈管理模块在系统窗口栈中存储应 用程序的标识信息,并为应用程序创建私有窗口栈;创建应用程序的窗口时,栈管理模块在 私有窗口栈中添加窗口的标识信息;关闭窗口时,栈管理模块在私有窗口栈中删除窗口的 标识信息;退出应用程序时,栈管理模块删除私有窗口栈,并在系统窗口栈中删除应用程序 的标识信息。在上述技术方案中,优选地,每个应用程序的标识信息包括应用标识和私有窗口 栈指针等,应用标识指向每个应用程序,应用标识包括每个应用程序的进程号等,私有窗口 栈指针指向每个应用程序对应的私有窗口栈;每个窗口的标识信息包括窗口标识等,窗口 标识指向每个窗口,窗口标识包括每个窗口的实际存储地址等。通过该技术方案,使得系统 窗口栈和私有窗口栈中的标识信息更小,有利于提高栈操作的效率。本领域技术人员应当 理解,应用程序的标识信息和窗口的标识信息包括但不限于上述内容。本专利技术还提供一种窗口管理系统,包括栈管理模块,通过系统窗口栈存储所有子 系统窗口栈的标识信息,通过每个子系统窗口栈存储一个或多个应用程序的标识信息,通 过每个私有窗口栈存储每个应用程序的所有窗口的标识信本文档来自技高网
...

【技术保护点】
一种窗口管理方法,其特征在于,包括:通过系统窗口栈存储所有应用程序的标识信息,通过每个私有窗口栈存储每个应用程序的所有窗口的标识信息,所述每个私有窗口栈与所述每个应用程序一一对应;根据所述系统窗口栈中应用程序的标识信息的排列顺序,以及所述每个私有窗口栈中窗口的标识信息的排列顺序,对所有窗口的顺序进行排列。

【技术特征摘要】

【专利技术属性】
技术研发人员:于涛
申请(专利权)人:北京握奇数据系统有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1