Android GWES基本架構篇
我這裡的GWES這個術語實際上從Microsoft 的Window上移植過來的,用GWES來表示Android的視窗事件系統不是那麼準確,在Android中Window是個弱化了的概念,更多的表現在View這個概念上。在很大程度上,Android的View的概念可以代替Microsoft Window這個概念,有點和Microsof暗中較勁的意味,你用過的概念我就偏不用,這個也是我以為的設計者意圖。
原始GUI基本架構
首先我們從Android的SDK外特性空間開始,在編寫Actvitiy時,我們都是面對的處理函數:OnXXXX(),例如有按鍵按下就是OnKeyDown等,在這個過程中系統做了怎樣的處理?要詳細的理解這個過程,我們就需要理解Andoid的View管理,視窗系統,訊息系統和輸入系統。我們還是從最本質的地方開始,Android作為一種嵌入式的圖形化使用者介面系統,它的基本原理與一般GUI的原理是相同的,同時也是遵循GWES(圖形視窗事件系統)的一般規律,總體上Android就是系統管理使用者輸入和系統螢幕輸出的一個系統。其實GWES這個名稱更能體現GUI的基本實質要素:圖形、視窗、事件。
1. 一般GUI的基本組成
GUI的實現就是對上面提到的三個基本要素的管理,根據這這三個要素的特性及其涉及的範圍,GUI在總體上可以分為三部分:
- 事件管理器
- 視窗管理器
- GDI(繪製與GDI邏輯對象管理)
(1) 事件管理器
- 收集系統訊息,轉換並分發系統訊息和使用者訊息給各個視窗對象。
- 訊息佇列管理
(2)視窗管理器:
- 管理視窗的建立,銷毀
- 視窗的繪製
- 使用中視窗,輸入焦點的切換
- 視窗間關係的管理
- 控制項,菜單實現
(3)GDI
- 上下文裝置管理
- 上下文裝置對象管理:字型,畫筆等
- 圖形繪製:點、線,填充等
- 圖象操作:位傳送、位元影像操作
2 系統體系構架及其資料流的大體走向
在本質上GUI就是系統管理使用者輸入和螢幕輸出,我們從上面的體繫結構可以看到GUI的這兩大資料流的基本流向,這也決定了Android GWES設計的最基本的著眼點。
Android弱化了視窗的概念,著重使用View的概念。所以Android的基本組成可以從上面的圖修改成如下的組成:
Android GWES基本架構篇
我這裡的GWES這個術語實際上從Microsoft 的Window上移植過來的,用GWES來表示Android的視窗事件系統不是那麼準確,在Android中Window是個弱化了的概念,更多的表現在View這個概念上。在很大程度上,Android的View的概念可以代替Microsoft Window這個概念,有點和Microsof暗中較勁的意味,你用過的概念我就偏不用,這個也是我以為的設計者意圖。
原始GUI基本架構
首先我們從Android的SDK外特性空間開始,在編寫Actvitiy時,我們都是面對的處理函數:OnXXXX(),例如有按鍵按下就是OnKeyDown等,在這個過程中系統做了怎樣的處理?要詳細的理解這個過程,我們就需要理解Andoid的View管理,視窗系統,訊息系統和輸入系統。我們還是從最本質的地方開始,Android作為一種嵌入式的圖形化使用者介面系統,它的基本原理與一般GUI的原理是相同的,同時也是遵循GWES(圖形視窗事件系統)的一般規律,總體上Android就是系統管理使用者輸入和系統螢幕輸出的一個系統。其實GWES這個名稱更能體現GUI的基本實質要素:圖形、視窗、事件。
1. 一般GUI的基本組成
GUI的實現就是對上面提到的三個基本要素的管理,根據這這三個要素的特性及其涉及的範圍,GUI在總體上可以分為三部分:
- 事件管理器
- 視窗管理器
- GDI(繪製與GDI邏輯對象管理)
(1) 事件管理器
- 收集系統訊息,轉換並分發系統訊息和使用者訊息給各個視窗對象。
- 訊息佇列管理
(2)視窗管理器:
- 管理視窗的建立,銷毀
- 視窗的繪製
- 使用中視窗,輸入焦點的切換
- 視窗間關係的管理
- 控制項,菜單實現
(3)GDI
- 上下文裝置管理
- 上下文裝置對象管理:字型,畫筆等
- 圖形繪製:點、線,填充等
- 圖象操作:位傳送、位元影像操作
2 系統體系構架及其資料流的大體走向
在本質上GUI就是系統管理使用者輸入和螢幕輸出,我們從上面的體繫結構可以看到GUI的這兩大資料流的基本流向,這也決定了Android GWES設計的最基本的著眼點。
Android弱化了視窗的概念,著重使用View的概念。所以Android的基本組成可以從上面的圖修改成如下的組成: