<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      View 的軟件繪制和硬件繪制

      View 的軟件繪制和硬件繪制

      開(kāi)發(fā) android 應(yīng)用的時(shí)候,常有一些問(wèn)題會(huì)涉及到 “硬件加速” ,例如在某個(gè)頁(yè)面上打開(kāi)/關(guān)閉硬件加速來(lái)解決特定問(wèn)題。那么今天就簡(jiǎn)單說(shuō)下具體 硬件繪制 相關(guān)的一些內(nèi)容。

      應(yīng)用里的頁(yè)面是以一棵棵 View 樹(shù)表示的,其中每個(gè) view 代表屏幕上一塊內(nèi)容。而實(shí)際顯示的內(nèi)容便是 view 繪制出來(lái)的,view 的繪制是從 view 樹(shù)的邏輯控制者——也就是對(duì)應(yīng)的 ViewRootImpl 對(duì)象觸發(fā)的。其中包括軟件繪制和硬件繪制兩種方式。

      當(dāng) ViewRootImpl 設(shè)置了 開(kāi)啟硬件加速 的時(shí)候,會(huì)使用硬件繪制的方式進(jìn)行繪制,否則使用軟件繪制。硬件繪制和軟件繪制類似于對(duì)同一個(gè)接口的兩種實(shí)現(xiàn)。其基本的繪制步驟都一樣的,只是兩種繪制方式里每個(gè)步驟實(shí)現(xiàn)不同。

      View 的軟件繪制

      View 的軟件繪制和硬件繪制的核心是 draw,也就是通常所說(shuō)的 measure-layout-draw 中的 draw ,也就是繪制流程。即遍歷 view 樹(shù),自上向下遍歷依次調(diào)用 draw。其中會(huì)涉及 view 的繪制過(guò)程以及向下分發(fā)等。

      在此 draw 的流程之前以及之后,需要進(jìn)行一些處理。大家都知道 draw 是依賴于畫(huà)布 canvas 的,canvas 只有在獲取之后才可以進(jìn)行 draw,并且 draw 完成后需要將 canvas 交給實(shí)際繪制到屏幕上的下一個(gè)環(huán)節(jié)。

      而 View 的軟件繪制和硬件繪制的差別,就在于 draw 之外的其他流程的實(shí)現(xiàn),軟件繪制步驟里,獲取 canvas 之后,view 樹(shù)可以直接接觸到 canvas 對(duì)象,對(duì)其進(jìn)行修改繪制。繪制完畢后,ViewRootimpl 將 canvas 交給對(duì)應(yīng)的處理者繪制到屏幕上。

      但是硬件繪制則不是如此,硬件繪制流程里,ViewRootImpl 并不會(huì)獲取 canvas 并且讓 view 樹(shù)對(duì)其進(jìn)行改動(dòng)。而是將這個(gè)過(guò)程都交給另一個(gè)專門的類來(lái)“代理”,即不獲取 canvas,使用另一個(gè)類里的 canvas;不對(duì) view 進(jìn)行繪制,將繪制動(dòng)作封裝成數(shù)據(jù)交給另一個(gè)類;也不進(jìn)行下一步的處理,而是將下一步通知的能力也交給另一個(gè)類。這種情況下,ViewRootImpl 就只需要在 draw 的時(shí)候通知那個(gè)代理類開(kāi)始工作,并且提供一些必要的信息就可以了。

      這是一個(gè)解耦的操作,同時(shí)可以將 繪制 動(dòng)作變得可擴(kuò)展了。

      View 的硬件加速

      當(dāng)我們?cè)?manifest 文件里聲明某個(gè) activity 的時(shí)候制定了開(kāi)啟硬件加速的時(shí)候,該 activity 的繪制便會(huì)使用硬件加速,其對(duì)應(yīng)的便是 ViewRootImpl 的硬件加速開(kāi)啟。ViewRootImpl 的硬件加速如果開(kāi)啟的話,會(huì)在進(jìn)行 view 樹(shù)根節(jié)點(diǎn)的繪制的時(shí)候,采用硬件繪制的方式進(jìn)行。

      posted @ 2022-01-03 01:11  wkmcyz  閱讀(409)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 色综合久久久久综合体桃花网| 色狠狠综合天天综合综合| 99热这里只有成人精品国产| 欧美日韩精品一区二区三区高清视频| 激情国产一区二区三区四区| 99国精品午夜福利视频不卡99| 天天做天天爱夜夜爽| 久久伊99综合婷婷久久伊| 中文字幕人妻av第一区| 久久久久成人片免费观看蜜芽 | 日韩视频中文字幕精品偷拍| 波多结野衣一区二区三区| 日韩丝袜亚洲国产欧美一区| 99中文字幕国产精品| 久热这里只有精品视频3| av深夜免费在线观看| 四虎成人精品永久网站| 91午夜福利在线观看精品| 国产裸体美女视频全黄| 中文字幕理伦午夜福利片| 精品久久人人妻人人做精品| 欧美成人精品一区二区三区免费| 国产不卡一区不卡二区| 国产福利微视频一区二区| 广东少妇大战黑人34厘米视频| 国产精品久久国产精麻豆99网站| 天堂亚洲免费视频| 国产WW久久久久久久久久| 丝袜老师办公室里做好紧好爽| 亚洲av一本二本三本| 久久永久视频| 精品婷婷色一区二区三区| 国产精品一区二区蜜臀av| 一区二区三区四区五区自拍| 无遮挡高潮国产免费观看| 四虎永久精品在线视频| 日日碰狠狠添天天爽| 国产精品亚洲五月天高清| 春菜花亚洲一区二区三区| 91精品国产免费人成网站| 高清偷拍一区二区三区|