<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 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邏輯對象管理) ![](https://box.kancloud.cn/2016-05-05_572b1a1999343.gif) (1)?事件管理器 - 收集系統消息,轉換并分發系統消息和用戶消息給各個窗口對象。 - 消息隊列管理 (2)窗口管理器: - 管理窗口的創建,銷毀 - ?窗口的繪制 - ?活動窗口,輸入焦點的切換 - ?窗口間關系的管理 - ?控件,菜單實現 (3)GDI - 上下文設備管理 - 上下文設備對象管理:字體,畫筆等 - ?圖形繪制:點、線,填充等 - ?圖象操作:位傳送、位圖操作 #### 2?系統體系構架及其數據流的大體走向 ![](https://box.kancloud.cn/2016-05-05_572b1a19b4f05.gif) 在本質上GUI就是管理用戶輸入和屏幕輸出,我們從上面的體系結構可以看到GUI的這兩大數據流的基本流向,這也決定了Android?GWES設計的最基本的著眼點。 Android弱化了窗口的概念,著重使用View的概念。所以Android的基本組成可以從上面的圖修改成如下的組成: ![](https://box.kancloud.cn/2016-05-05_572b1a19c93f5.gif)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看