<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ViewRoot是Surfac系統甚至UI系統中一個非常關鍵的類,下面把網上一些關于ViewRoot的問題做個總結,希望這樣能幫助讀者對ViewRoot有更加清楚的認識。 - ViewRoot和View類的關系是什么? ViewRoot是View視圖體系的根。每一個Window(注意是Window,比如PhoneWindow)有一個ViewRoot,它的作用是處理layout和View視圖體系的繪制。那么視圖體系又是什么呢?它包括Views和ViewGroups,也就是SDK中能看到的View類都屬于視圖體系。根據前面的分析可知,這些View是需要通過draw畫出來的。而ViewRoot就是用來draw它們的,ViewRoot本身沒有draw/onDraw函數。 - ViewRoot和它所控制的View及其子View使用同一個Canvas嗎? 這個問題的答案就很簡單了,我們在ViewRoot的performTraversals中見過。ViewRoot提供Canvas給它所控制的View,所以它們使用同一個Canvas。但Canvas使用的內存卻不是固定的,而是通過Surface的lockCanvas得到的。 - View、Surface和Canvas之間的關系是怎樣的?我認為,每一個view將和一個canvas,以及一個surface綁定到一起(這里的“我”表示提問人)。 這個問題的答案也很簡單。一個Window將和一個Surface綁定在一起,繪制前ViewRoot會從Surface中lock出一個Canvas。 - Canvas有一個bitmap,那么繪制UI時,數據是畫在Canvas的這個bitmap中嗎? 答案是肯定的,bitmap實際上包括了一塊內存,繪制的數據最終都在這塊內存上。 - 同一個ViewRoot下,不同類型的View(不同類型指不同的UI單元,例如按鈕、文本框等)使用同一個Surface嗎? 是的,但是SurfaceView要除外。因為SurfaceView的繪制一般在單獨的線程上,并且由應用層主動調用lockCanvas、draw和unlockCanvasAndPost來完成繪制流程。應用層相當于拋開了ViewRoot的控制,直接和屏幕打交道,這在camera、video方面用得最多。
                  <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>

                              哎呀哎呀视频在线观看