專利名稱:窗口管理方法、系統(tǒng)及終端的制作方法
技術領域:
本發(fā)明涉及圖形系統(tǒng)的窗口管理,具體而言,涉及窗口管理方法、系統(tǒng)以及終端。
背景技術:
圖形用戶接口(Graphical User Interface,⑶I)作為一種廣泛使用的人機交互 方式,提供了良好的用戶體驗。窗口系統(tǒng)作為操作系統(tǒng)的一個組件,提供了圖形用戶接口的支持環(huán)境,典型的功 能有1)各種應用程序向窗口系統(tǒng)提出繪圖請求,窗口系統(tǒng)負責各種窗口部件(例如文 本框、按鈕等)的繪制;2)對圖形硬件和輸入設備(如鼠標、鍵盤、觸摸屏)的讀寫操作;3)實現(xiàn)了一個窗口管理器(Windows Manager, WM)組件。窗口管理器提供了對窗口的各種操作(例如打開、關閉、最大化、最小化等),其中 最重要的一項任務就是對系統(tǒng)中的各個窗口的相互關系進行管理(例如,窗口之間的疊加寸J ο對于實現(xiàn)該任務,通常的方法為維護一個包含所有打開的窗口的棧結構,這個窗口棧是按一個假想的軸定位的, 這個軸就是從屏幕向外伸展的Z軸。窗口標識信息沿著Z軸方向存儲在棧中,窗口標識信 息的這種排列順序叫做Z序。Z序最上面的對應窗口覆蓋所有其它的窗口,Z序最底層的對 應窗口被所有其它的窗口覆蓋。多種應用程序的窗口的分布示意圖如圖1所示,其中,每個應用程序可以對應一 個或多個窗口。按照上述方法對所有窗口管理操作是在一個窗口棧結構上進行的,復雜度低,易 于實現(xiàn)。棧的結構如圖2所示,即按照圖2中的棧中的每個窗口的標識信息的排列順序,對 窗口進行排列,如應用程序1的窗口 2排在所有窗口的最上層,應用程序2的窗口 1排在所 有窗口的最下層。在通過以上方法實現(xiàn)的現(xiàn)有窗口系統(tǒng)移植到嵌入式設備中時,由于嵌入式設備的 計算能力比較低,對功耗敏感,如圖2示出的窗口管理系統(tǒng)的管理機制具有一定的局限性當多個應用程序運行時候,操作系統(tǒng)中可能會存在多個窗口,每一個窗口都會在 窗口管理器的窗口棧上產生一個對應單元,即標識信息,使得棧中的單元比較多。當這些窗 口間的相對次序發(fā)生變化時,對棧進行操作的時間開銷和內存開銷都比較大。因此,需求一種針對于嵌入式環(huán)境的窗口管理方式,能夠快速有效地管理窗口的 次序,同時降低窗口的管理工作的功耗。
發(fā)明內容
本發(fā)明所要解決的技術問題在于,需求一種針對于嵌入式環(huán)境的窗口管理方式,能夠快速有效地管理窗口的次序,同時降低窗口的管理工作的功耗。有鑒于此,本發(fā)明提供一種窗口管理方法,可以包括通過系統(tǒng)窗口棧存儲所有應 用程序的標識信息,通過每個私有窗口棧存儲每個應用程序的所有窗口的標識信息,每個 私有窗口棧與每個應用程序一一對應;根據(jù)系統(tǒng)窗口棧中應用程序的標識信息的排列順 序,以及每個私有窗口棧中窗口的標識信息的排列順序,可以對所有窗口的順序進行排列。 通過該技術方案,使窗口次序的改變僅涉及到系統(tǒng)窗口棧的一個私有窗口棧中的標識信息 操作,而其他私有窗口棧中的標識信息無需改動,占用的資源更少。在上述技術方案中,優(yōu)選地,對所有窗口的順序進行排列可以包括對于系統(tǒng)窗口 棧中的任意兩個應用程序的標識信息,將高地址標識信息對應的應用程序的所有窗口均置 于低地址標識信息對應的應用程序的所有窗口之上或之下;和/或對于每個私有窗口棧中 的任意兩個窗口的標識信息,將高地址標識信息對應的窗口置于低地址標識信息對應的窗 口之上或之下。在上述技術方案中,優(yōu)選地,窗口管理方法還可以包括啟動應用程序時,在系統(tǒng) 窗口棧中存儲應用程序的標識信息,并為應用程序創(chuàng)建私有窗口棧;創(chuàng)建應用程序的窗口 時,在私有窗口棧中添加窗口的標識信息;關閉窗口時,在私有窗口棧中刪除窗口的標識信 息;退出應用程序時,刪除私有窗口棧,并在系統(tǒng)窗口棧中刪除應用程序的標識信息。在上述技術方案中,優(yōu)選地,每個應用程序的標識信息包括應用標識和私有窗口 棧指針等,應用標識指向每個應用程序,應用標識包括每個應用程序的進程號等,私有窗口 棧指針指向每個應用程序對應的私有窗口棧;每個窗口的標識信息包括窗口標識等,窗口 標識指向.每個窗口,窗口標識包括每個窗口的實際存儲地址等。通過該技術方案,使得系 統(tǒng)窗口棧和私有窗口棧中的標識信息更小,有利于提高棧操作的效率。本領域技術人員應 當理解,應用程序的標識信息和窗口的標識信息包括但不限于上述內容。本發(fā)明還提供一種窗口管理方法,包括通過系統(tǒng)窗口棧存儲所有子系統(tǒng)窗口棧 的標識信息,通過每個子系統(tǒng)窗口棧存儲一個或多個應用程序的標識信息,通過每個私有 窗口棧存儲每個應用程序的所有窗口的標識信息,每個私有窗口棧與每個應用程序一一對 應;根據(jù)系統(tǒng)窗口棧中子系統(tǒng)窗口堆棧的標識信息的排列順序,每個子系統(tǒng)窗口棧中應用 程序的標識信息的排列順序,以及每個私有窗口棧中窗口的標識信息的排列順序,對所有 窗口的順序進行排列。本領域技術人員應當理解,根據(jù)該技術方案,更多級的??梢杂糜趯?窗口的次序變化進行管理,以減少窗口次序變化占用的資源。
在上述技術方案中,優(yōu)選地,一個或多個應用程序的類型相同。通過該技術方案, 同類型的應用程序的窗口切換涉及對應的子系統(tǒng)窗口棧中的標識信息操作,而其他子系統(tǒng) 窗口棧中標識信息則無需操作,使得窗口切換的效率提高,占用的資源更少。本發(fā)明還提供一種窗口管理系統(tǒng),包括棧管理模塊,通過系統(tǒng)窗口棧存儲所有應 用程序的標識信息,通過每個私有窗口棧存儲每個應用程序的所有窗口的標識信息,每個 私有窗口棧與每個應用程序一一對應;窗口排列模塊,根據(jù)系統(tǒng)窗口棧中應用程序的標識 信息的排列順序,以及每個私有窗口棧中窗口的標識信息的排列順序,對所有窗口的順序 進行排列。通過該技術方案,使窗口次序的改變僅涉及到系統(tǒng)窗口棧的一個私有窗口棧中 的標識信息操作,而其他私有窗口棧中的標識信息無需改動,占用的資源更少。在上述技術方案中,優(yōu)選地,對于系統(tǒng)窗口棧中的任意兩個應用程序的標識信息,窗口排列模塊將高地址標識信息對應的應用程序的所有窗口均置于低地址標識信息對應 的應用程序的所有窗口之上或之下;和/或對于每個私有窗口棧中的任意兩個窗口的標識 信息,窗口排列模塊將高地址標識信息對應的窗口位于低地址標識信息對應的窗口之上或 之下。在上述技術方案中,優(yōu)選地,啟動應用程序時,棧管理模塊在系統(tǒng)窗口棧中存儲應 用程序的標識信息,并為應用程序創(chuàng)建私有窗口棧;創(chuàng)建應用程序的窗口時,棧管理模塊在 私有窗口棧中添加窗口的標識信息;關閉窗口時,棧管理模塊在私有窗口棧中刪除窗口的 標識信息;退出應用程序時,棧管理模塊刪除私有窗口棧,并在系統(tǒng)窗口棧中刪除應用程序 的標識信息。在上述技術方案中,優(yōu)選地,每個應用程序的標識信息包括應用標識和私有窗口 棧指針等,應用標識指向每個應用程序,應用標識包括每個應用程序的進程號等,私有窗口 棧指針指向每個應用程序對應的私有窗口棧;每個窗口的標識信息包括窗口標識等,窗口 標識指向每個窗口,窗口標識包括每個窗口的實際存儲地址等。通過該技術方案,使得系統(tǒng) 窗口棧和私有窗口棧中的標識信息更小,有利于提高棧操作的效率。本領域技術人員應當 理解,應用程序的標識信息和窗口的標識信息包括但不限于上述內容。本發(fā)明還提供一種窗口管理系統(tǒng),包括棧管理模塊,通過系統(tǒng)窗口棧存儲所有子 系統(tǒng)窗口棧的標識信息,通過每個子系統(tǒng)窗口棧存儲一個或多個應用程序的標識信息,通 過每個私有窗口棧存儲每個應用程序的所有窗口的標識信息,每個私有窗口棧與每個應用 程序一一對應;窗口排列模塊,根據(jù)系統(tǒng)窗口棧中應用程序的標識信息的排列順序,每個 子系統(tǒng)窗口棧中窗口的標識信息的排列順序,以及每個私有窗口棧中的標識信息的排列順 序,對所有窗口的順序進行排列。本領域技術人員應當理解,根據(jù)該技術方案,更多級的棧 可以用于對窗口的次序變化進行管理,以減少窗口次序變化占用的資源。在上述技術方案中,優(yōu)選地,一個或多個應用程序的類型相同。通過該技術方案, 同類型的應用程序的窗口切換,涉及對應的子系統(tǒng)窗口棧中的標識信息操作,而其他子系 統(tǒng)窗口棧中標識信息則無需操作,使得窗口切換的效率提高,占用的資源更少。本發(fā)明還提供一種終端,包括上述的窗口管理系統(tǒng)。通過上述技術方案,可以通過兩級或多級的棧結構對窗口的次序變化進行管理, 使得窗口的次序變化只涉及較少的棧中的標識信息操作,而其他棧中的標識信息則無需操 作,而只使用一個棧進行窗口管理的方式可能導致大量的窗口標識信息的變動,本發(fā)明的 技術方案占用的資源大幅減少,可以針對嵌入式環(huán)境,快速有效地管理窗口次序,降低窗口 管理工作的功耗。
圖1是現(xiàn)有技術中多個窗口的分布示意圖;圖2是現(xiàn)有技術中窗口管理系統(tǒng)中采用的窗口棧的示意圖;圖3是根據(jù)本發(fā)明的一個實施例的窗口管理方法的流程圖;圖4是根據(jù)本發(fā)明的一個實施例的窗口管理方法的流程圖;圖5是根據(jù)本發(fā)明的一個實施例的窗口管理系統(tǒng)的框圖;圖6是根據(jù)本發(fā)明的一個實施例的窗口管理系統(tǒng)的框圖7是根據(jù)本發(fā)明的一個實施例的窗口管理方法的系統(tǒng)窗口棧的示意圖;圖8是根據(jù)本發(fā)明的一個實施例的窗口管理方法的系統(tǒng)窗口棧和私有窗口棧的 示意圖;圖9是根據(jù)本發(fā)明的一個實施例的窗口管理方法的系統(tǒng)窗口棧和私有窗口棧的 示意圖;圖10是根據(jù)本發(fā)明的一個實施例的窗口管理方法的系統(tǒng)窗口棧和私有窗口棧的 示意圖;圖11是根據(jù)本發(fā)明的一個實施例的窗口管理方法的系統(tǒng)窗口棧和私有窗口棧的 示意圖;圖12是根據(jù)本發(fā)明的一個實施例的終端中窗口管理系統(tǒng)的系統(tǒng)窗口棧、子系統(tǒng) 窗口棧和私有窗口棧的示意圖。
具體實施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結合附圖和具體實 施方式對本發(fā)明進行進一步的詳細描述。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可 以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明并不限于下面公開的具體實 施例的限制。圖3是根據(jù)本發(fā)明的一個實施例的窗口管理方法的流程圖。如圖3所示,本發(fā)明提供一種窗口管理方法,可以包括步驟302,通過系統(tǒng)窗口棧 存儲所有應用程序的標識信息,通過每個私有窗口棧存儲每個應用程序的所有窗口的標識 信息,每個私有窗口棧與每個應用程序一一對應;步驟304,根據(jù)系統(tǒng)窗口棧中應用程序的 標識信息的排列順序,以及每個私有窗口棧中窗口的標識信息的排列順序,可以對所有窗 口的順序進行排列。在上述技術方案中,所述步驟304中對所有窗口的順序進行排列可以包括對于 系統(tǒng)窗口棧中的任意兩個應用程序的標識信息,將高地址標識信息(即存儲在棧內的較高 地址的標識信息)對應的應用程序的所有窗口均置于低地址標識信息(即存儲在棧內的較 低地址的標識信息)對應的應用程序的所有窗口之上或之下;和/或對于每個私有窗口棧 中的任意兩個窗口的標識信息,將高地址標識信息對應的窗口置于低地址標識信息對應的 窗口之上或之下。在上述技術方案中,窗口管理方法還可以包括啟動應用程序時,在系統(tǒng)窗口棧中 存儲應用程序的標識信息,并為應用程序創(chuàng)建私有窗口棧;創(chuàng)建應用程序的窗口時,在私有 窗口棧中添加窗口的標識信息;關閉窗口時,在私有窗口棧中刪除窗口的標識信息;退出 應用程序時,刪除私有窗口棧,并在系統(tǒng)窗口棧中刪除應用程序的標識信息。在上述技術方案中,每個應用程序的標識信息包括應用標識和私有窗口棧指針 等,應用標識指向每個應用程序,應用標識包括每個應用程序的進程號等,私有窗口棧指針 指向每個應用程序對應的私有窗口棧;每個窗口的標識信息包括窗口標識等,窗口標識指 向每個窗口,窗口標識包括每個窗口的實際存儲地址等。本領域技術人員應當理解,應用程 序的標識信息和窗口的標識信息包括但不限于上述內容。
通過上述技術方案,采用包括系統(tǒng)窗口棧和私有窗口棧的兩級棧結構,使窗口次 序的改變僅涉及到系統(tǒng)窗口棧的一個私有窗口棧中的標識信息操作,而其他私有窗口棧中 的標識信息無需改動,占用的資源更少。同時,由于棧中的標識信息更小,使得系統(tǒng)窗口棧 和私有窗口棧中的標識信息更小,有利于提高棧操作的效率。圖4是根據(jù)本發(fā)明的一個實施例的窗口管理方法的流程圖。如圖4所示,本發(fā)明還提供一種窗口管理方法,包括步驟402,通過系統(tǒng)窗口棧存 儲所有子系統(tǒng)窗口棧的標識信息,通過每個子系統(tǒng)窗口棧存儲一個或多個應用程序的標識 信息,通過每個私有窗口棧存儲每個應用程序的所有窗口的標識信息,每個私有窗口棧與 每個應用程序一一對應;步驟404,根據(jù)系統(tǒng)窗口棧中子系統(tǒng)窗口堆棧的標識信息的排列 順序,每個子系統(tǒng)窗口棧中應用程序的標識信息的排列順序,以及每個私有窗口棧中窗口 的標識信息的排列順序,對所有窗口的順序進行排列。在上述技術方案中,一個或多個應用程序的類型相同。通過上述技術方案,采用三級棧結構(系統(tǒng)窗口棧、子系統(tǒng)窗口棧、私有窗口棧), 除具備圖3實施例的兩級棧結構的優(yōu)點外,同類型的應用程序的窗口切換涉及對應的子系 統(tǒng)窗口棧中的標識信息操作,而其他子系統(tǒng)窗口棧中標識信息則無需操作,使得窗口切換 的效率提高,占用的資源更少。本領域技術人員應當理解,根據(jù)該技術方案,更多級的???以用于對窗口的次序變化進行管理,以減少窗口次序變化占用的資源。圖5是根據(jù)本發(fā)明的一個實施例的窗口管理系統(tǒng)的框圖。如圖5所示,本發(fā)明還提供一種窗口管理系統(tǒng)500,包括棧管理模塊502,通過系 統(tǒng)窗口棧存儲所有應用程序的標識信息,通過每個私有窗口棧存儲每個應用程序的所有窗 口的標識信息,每個私有窗口棧與每個應用程序一一對應;窗口排列模塊504,根據(jù)系統(tǒng)窗 口棧中應用程序的標識信息的排列順序,以及每個私有窗口棧中窗口的標識信息的排列順 序,對所有窗口的順序進行排列。在上述技術方案中,對于系統(tǒng)窗口棧中的任意兩個應用程序的標識信息,窗口排 列模塊504將高地址標識信息對應的應用程序的所有窗口均置于低地址標識信息對應的 應用程序的所有窗口之上或之下;和/或對于每個私有窗口棧中的任意兩個窗口的標識信 息,窗口排列模塊504將高地址標識信息對應的窗口位于低地址標識信息對應的窗口之上 或之下。在上述技術方案中,啟動應用程序時,棧管理模塊502在系統(tǒng)窗口棧中存儲應用 程序的標識信息,并為應用程序創(chuàng)建私有窗口棧;創(chuàng)建應用程序的窗口時,棧管理模塊502 在私有窗口棧中添加窗口的標識信息;關閉窗口時,棧管理模塊502在私有窗口棧中刪除 窗口的標識信息;退出應用程序時,棧管理模塊502刪除私有窗口棧,并在系統(tǒng)窗口棧中刪 除應用程序的標識信息。在上述技術方案中,每個應用程序的標識信息包括應用標識和私有窗口棧指針 等,應用標識指向每個應用程序,應用標識包括每個應用程序的進程號等,私有窗口棧指針 指向每個應用程序對應的私有窗口棧;每個窗口的標識信息包括窗口標識等,窗口標識指 向每個窗口,窗口標識包括每個窗口的實際存儲地址等。通過上述技術方案,采用包括系統(tǒng)窗口棧和私有窗口棧的兩級棧結構,使窗口次 序的改變僅涉及到系統(tǒng)窗口棧的一個私有窗口棧中的標識信息操作,而其他私有窗口棧中的標識信息無需改動,占用的資源更少。同時,由于棧中的標識信息更小,使得系統(tǒng)窗口棧 和私有窗口棧中的標識信息更小,有利于提高棧操作的效率。圖6是根據(jù)本發(fā)明的一個實施例的窗口管理系統(tǒng)的框圖。如圖6所示,本發(fā)明還提供一種窗口管理系統(tǒng)600,包括棧管理模塊602,通過系 統(tǒng)窗口棧存儲所有子系統(tǒng)窗口棧的標識信息,通過每個子系統(tǒng)窗口棧存儲一個或多個應用 程序的標識信息,通過每個私有窗口棧存儲每個應用程序的所有窗口的標識信息,每個私 有窗口棧與每個應用程序一一對應;窗口排列模塊604,根據(jù)系統(tǒng)窗口棧中子系統(tǒng)窗口堆 棧的標識信息的排列順序,每個子系統(tǒng)窗口棧中應用程序的標識信息的排列順序,以及每 個私有窗口棧中窗口的標識信息的排列順序,對所有窗口的順序進行排列。在上述技術方案中,一個或多個應用程序的類型相同。通過上述技術方案,采用三級棧結構(系統(tǒng)窗口棧、子系統(tǒng)窗口棧、私有窗口棧), 除具備圖5實施例的兩級棧結構的優(yōu)點外,同類型的應用程序的窗口切換涉及對應的子系 統(tǒng)窗口棧中的標識信息操作,而其他子系統(tǒng)窗口棧中標識信息則無需操作,使得窗口切換 的效率提高,占用的資源更少。本領域技術人員應當理解,根據(jù)該技術方案,更多級的???以用于對窗口的次序變化進行管理,以減少窗口次序變化占用的資源。圖7至圖11是根據(jù)本發(fā)明的一個實施例的窗口管理方法的示意圖。本實施例提出了基于兩級棧結構的窗口管理方法其原理為在操作系統(tǒng)中維護一個以應用程序為單位的系統(tǒng)窗口棧結構,其反映 了正在運行的應用程序的顯示順序,例如,系統(tǒng)窗口棧內最頂部的應用程序的所有窗口都 排在其他應用程序的窗口之上。操作系統(tǒng)中運行三個圖形應用程序,每個應用程序有兩個 打開的窗口,那么一個可能的系統(tǒng)窗口棧就如圖7所示。對于每個處于運行狀態(tài)的圖形應用程序,維護一個該應用程序打開的所有窗口的 私有窗口棧結構,其反映了同一個應用程序的所有窗口之間的層次關系,例如,位于私有窗 口棧棧頂?shù)拇翱谠谕瑧玫钠渌翱谥稀H鐖D8所示,為圖7中的應用1的一個可能的 窗口棧。下面對本實施例提出的基于兩級棧結構的窗口管理方法進行詳細的說明,如圖9 所示,為系統(tǒng)窗口棧和私有窗口棧的詳細示意圖。結合圖9,本實施例的窗口管理方法的管理過程為在一個帶有圖形用戶界面的應用程序啟動時,為其創(chuàng)建一個私有窗口棧(該應用 程序至少包含一個窗口,即該應用程序的主窗口)用于管理該應用程序內的各個窗口。在 系統(tǒng)窗口棧存儲該圖形應用程序的標識信息,為提高效率,該標識信息可以是應用程序的 索引信息(即用于檢索出該應用程序的必要內容,此處標識信息也可以包括應用程序中的 其他內容,例如可以將應用程序的全部內容作為標識信息存入棧內),索引信息至少包含如 下應用程序的應用標識(可以使用進程號(process id,即pid)作為應用標識,圖9中即 采用應用程序的進程號作為應用標識),以及指向該應用程序的私有窗口棧的指針,例如, 該指針具體可以指向棧頂索引信息;同時在該應用程序的私有窗口棧中存儲該應用程序的 窗口的標識信息,該標識信息同樣可以采用索引信息,每個索引信息對應這個應用程序中 已經打開的窗口。私有窗口棧中的索引信息應至少包含如下信息窗口標識,指向對應的窗 口,可以是窗口的實際存儲地址。
用戶對窗口的操作包括以下情況1)用戶選中一個窗口,將該窗口置于所有窗口的最上層。例如,如果用戶想要將應 用程序1對應的窗口 3置于所有窗口之上,此時,系統(tǒng)窗口棧中,應用程序1的索引信息已 經位于棧頂,不需變動,在應用程序1對應的私有窗口棧中,將窗口 3的索引信息置于棧頂, 即棧內最高地址,而原來位于窗口 3的索引信息之上的窗口 1、窗口 2的索引信息則均向低 地址下移一層。其他應用程序對應的私有窗口棧中無需做任何變動。如果用戶想要應用程序2的窗口 2置于所有窗口的最上層的話,則在系統(tǒng)窗口棧 中,將應用程序2的索引信息置于棧頂,同時將原來位于應用程序2的索引信息之上的應用 程序1的索引信息向下移動一層,而在應用程序2對應的私有窗口棧中,則將窗口 2的索引 信息置于棧頂,并將原來位于窗口 2的索引信息之上的窗口 1的索引信息移至低一層的地 址。其他應用程序對應的私有窗口棧中無需做任何變動。2)用戶選擇一個窗口進行最小化,處理方式與1)相似。首先確保在系統(tǒng)窗口棧 中,該窗口對應的應用程序的索引信息在最低地址,同時在該應用程序對應的私有窗口棧 中,確保該窗口的索引信息位于棧底地址。通過上述說明,可以發(fā)現(xiàn),通過系統(tǒng)窗口棧和私有窗口棧兩個級別的棧結構,在對 窗口進行操作時,僅系統(tǒng)窗口棧和一個私有窗口棧中的信息數(shù)據(jù)需要進行移動操作,其他 窗口棧中的信息數(shù)據(jù)則不需變動,這使得用戶的窗口操作所占用的資源極少,尤其適用于 在嵌入式的環(huán)境下打開大量窗口。而且,由于應用程序的索引信息、窗口的索引信息內容簡 單,更有利于提高窗口操作的效率。圖12是根據(jù)本發(fā)明的一個實施例的終端中窗口管理系統(tǒng)的系統(tǒng)窗口棧、子系統(tǒng) 窗口棧和私有窗口棧的示意圖。如圖12所示,本實施例中的終端中,窗口管理系統(tǒng)提供采用多級別的窗口堆棧方 案的窗口管理方法,將系統(tǒng)窗口堆棧按照優(yōu)先級別分為多個子系統(tǒng)窗口堆棧,實現(xiàn)三級窗 口堆棧的管理方案(系統(tǒng)窗口堆棧、子系統(tǒng)窗口堆棧、應用程序對應的私有窗口堆棧)。子系統(tǒng)窗口棧中的應用程序的劃分可以根據(jù)如下標準用戶對應用程序響應時間 的要求。本領域技術人員應當理解,可按照多種標準將應用程序劃分入對應的子系統(tǒng)窗口 棧,不限于響應時間。例如,終端的系統(tǒng)中啟動了三個軟件應用導航軟件、多媒體播放器和小游戲,按 照對響應時間的要求劃分,則游戲的標識信息由子系統(tǒng)窗口棧2管理,導航軟件、多媒體播 放器的信息由子系統(tǒng)窗口棧1管理。當系統(tǒng)進行窗口切換時,在導航軟件、多媒體播放器之 間的窗口切換會取得更短的切換時間。本領域技術人員應當理解,本實施例中的基于系統(tǒng)窗口棧、子系統(tǒng)窗口棧、應用的 私有窗口棧的三個級別的棧結構的窗口管理方法并不用于限制本發(fā)明,根據(jù)實際需要,根 據(jù)本發(fā)明可得到基于更多級別的棧結構的窗口管理方法。隨著以手持設備為代表的嵌入式設備進一步普及,消費者在滿足基本工作、學習 和娛樂等需求的同時,對用戶體驗的要求不斷增高。本發(fā)明提出的基于多級別的窗口棧的 窗口管理方案,降低了窗口管理的計算資源消耗,進而減少了設備的功耗;另一方面,減少 了窗口管理操作的時間,提高圖形界面對用戶操作的響應速度。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修 改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種窗口管理方法,其特征在于,包括通過系統(tǒng)窗口棧存儲所有應用程序的標識信息,通過每個私有窗口棧存儲每個應用程 序的所有窗口的標識信息,所述每個私有窗口棧與所述每個應用程序一一對應;根據(jù)所述系統(tǒng)窗口棧中應用程序的標識信息的排列順序,以及所述每個私有窗口棧中 窗口的標識信息的排列順序,對所有窗口的順序進行排列。
2.根據(jù)權利要求1所述的窗口管理方法,其特征在于,所述對所有窗口的順序進行排 列包括對于所述系統(tǒng)窗口棧中的任意兩個應用程序的標識信息,將高地址標識信息對應的應 用程序的所有窗口均置于低地址標識信息對應的應用程序的所有窗口之上或之下;和/或對于所述每個私有窗口棧中的任意兩個窗口的標識信息,將高地址標識信息對應的窗 口位于低地址標識信息對應的窗口之上或之下。
3.根據(jù)權利要求1所述的窗口管理方法,其特征在于,所述窗口管理方法還包括啟動應用程序時,在所述系統(tǒng)窗口棧中存儲所述應用程序的標識信息,并為所述應用 程序創(chuàng)建私有窗口棧;創(chuàng)建所述應用程序的窗口時,在所述私有窗口棧中添加所述窗口的標識信息;關閉所述窗口時,在所述私有窗口棧中刪除所述窗口的標識信息;退出所述應用程序時,刪除所述私有窗口棧,并在所述系統(tǒng)窗口棧中刪除所述應用程 序的標識信息。
4.根據(jù)權利要求1至3中任一項所述的窗口管理方法,其特征在于,每個應用程序的標 識信息包括應用標識和私有窗口棧指針,所述應用標識指向所述每個應用程序,所述私有 窗口棧指針指向所述每個應用程序對應的私有窗口棧;每個窗口的標識信息包括窗口標識,所述窗口標識指向所述每個窗口。
5.一種窗口管理方法,其特征在于,包括通過系統(tǒng)窗口棧存儲所有子系統(tǒng)窗口棧的標識信息,通過每個子系統(tǒng)窗口棧存儲一個 或多個應用程序的標識信息,通過每個私有窗口棧存儲每個應用程序的所有窗口的標識信 息,所述每個私有窗口棧與所述每個應用程序一一對應;根據(jù)所述系統(tǒng)窗口棧中子系統(tǒng)窗口棧的標識信息的排列順序,所述每個子系統(tǒng)窗口棧 中應用程序的標識信息的排列順序,以及所述每個私有窗口棧中窗口的標識信息的排列順 序,對所有窗口的順序進行排列。
6.根據(jù)權利要求5所述的窗口管理方法,其特征在于,所述一個或多個應用程序的類 型相同。
7.一種窗口管理系統(tǒng),其特征在于,包括棧管理模塊,通過系統(tǒng)窗口棧存儲所有應用程序的標識信息,通過每個私有窗口棧存 儲每個應用程序的所有窗口的標識信息,所述每個私有窗口棧與所述每個應用程序一一對 應;窗口排列模塊,根據(jù)所述系統(tǒng)窗口棧中應用程序的標識信息的排列順序,以及所述每 個私有窗口棧中窗口的標識信息的排列順序,對所有窗口的順序進行排列。
8.根據(jù)權利要求7所述的窗口管理系統(tǒng),其特征在于,對于所述系統(tǒng)窗口棧中的任意 兩個應用程序的標識信息,所述窗口排列模塊將所述高地址標識信息對應的應用程序的所有窗口均置于低地址標識信息對應的應用程序的所有窗口之上或之下;和/或對于所述每個私有窗口棧中的任意兩個窗口的標識信息,所述窗口排列模塊將高地址 標識信息對應的窗口位于低地址標識信息對應的窗口之上或之下。
9.根據(jù)權利要求7所述的窗口管理系統(tǒng),其特征在于,啟動應用程序時,所述棧管理 模塊在所述系統(tǒng)窗口棧中存儲所述應用程序的標識信息,并為所述應用程序創(chuàng)建私有窗口 棧;創(chuàng)建所述應用程序的窗口時,所述棧管理模塊在所述私有窗口棧中添加所述窗口的標 識信息;關閉所述窗口時,所述棧管理模塊在所述私有窗口棧中刪除所述窗口的標識信息;退出所述應用程序時,所述棧管理模塊刪除所述私有窗口棧,并在所述系統(tǒng)窗口棧中 刪除所述應用程序的標識信息。
10.一種窗口管理系統(tǒng),其特征在于,包括棧管理模塊,通過系統(tǒng)窗口棧存儲所有子系統(tǒng)窗口棧的標識信息,通過每個子系統(tǒng)窗 口棧存儲一個或多個應用程序的標識信息,通過每個私有窗口棧存儲每個應用程序的所有 窗口的標識信息,所述每個私有窗口棧與所述每個應用程序一一對應;窗口排列模塊,根據(jù)所述系統(tǒng)窗口棧中子系統(tǒng)窗口棧的標識信息的排列順序,所述每 個子系統(tǒng)窗口棧中應用程序的標識信息的排列順序,以及所述每個私有窗口棧中窗口的標 識信息的排列順序,對所有窗口的順序進行排列。
11.根據(jù)權利要求10所述的窗口管理系統(tǒng),其特征在于,所述一個或多個應用程序的 類型相同。
12.—種終端,其特征在于,包括權利要求7至11中任一項所述的窗口管理系統(tǒng)。
全文摘要
本發(fā)明提供了一種窗口管理方法,可以包括通過系統(tǒng)窗口棧存儲所有應用程序的標識信息,通過每個私有窗口棧存儲每個應用程序的所有窗口的標識信息,每個私有窗口棧與每個應用程序一一對應;根據(jù)系統(tǒng)窗口棧中應用程序的標識信息的排列順序,以及每個私有窗口棧中窗口的標識信息的排列順序,可以對所有窗口的順序進行排列。本發(fā)明還提供窗口管方法、系統(tǒng)以及一種終端。根據(jù)本發(fā)明,能夠針對嵌入式環(huán)境,快速有效地管理窗口的次序,同時降低窗口的管理工作的功耗。
文檔編號G06F9/44GK102063302SQ20101061336
公開日2011年5月18日 申請日期2010年12月20日 優(yōu)先權日2010年12月20日
發(fā)明者于濤 申請人:北京握奇數(shù)據(jù)系統(tǒng)有限公司