vip -課件分發(fā)機制詳解_第1頁
vip -課件分發(fā)機制詳解_第2頁
vip -課件分發(fā)機制詳解_第3頁
vip -課件分發(fā)機制詳解_第4頁
vip -課件分發(fā)機制詳解_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

輔標題:(課程標題)思源黑體CNMedium字號66事件沖突再也不能阻止你帶你手寫Android9.0的Google事件分發(fā)架構(gòu)01為什么需要學(xué)事件分發(fā)事件分發(fā)在Android開發(fā)中為什么這么重要事件束縛了你開發(fā)自定義控件的能力,同時與Offer失之交臂怎樣才能學(xué)好事件分發(fā)架構(gòu)。源碼?博客?拒絕學(xué)習(xí)表面,拒絕記憶保質(zhì)期一堂課帶你全面理解事件分發(fā)架構(gòu),從思想上理解Google為什么這么做面試事件引發(fā)的思考Android事件:事件分析在Android面試幾乎是必考題,可以說對事件了解多深,對自定義控件開發(fā)水平就有多高。事件不處理好,各種事件沖突,卡頓是家常便飯。為什么學(xué)習(xí)Android事件這么重要:1:面試容易考2:開發(fā)自定義控件容易用到3:排出問題比較復(fù)雜4:熟悉Android事件機制有助于理解Android系統(tǒng)Google事件架構(gòu)設(shè)計事件需要考慮什么?每個界面元素都有事件。意味著事件核心處理類不能太多事件的傳遞不能丟給開發(fā)者實現(xiàn),只能暴露接口回調(diào)每個控件都可能接受事件和消費事件。如果發(fā)生控件消費事件,后續(xù)事件也必須由他消費如何快速查找控件會消費事件?如何根據(jù)點擊坐標查找該范圍的控件?每次發(fā)生事件是都需要遍歷每一個子元素嗎?02事件分發(fā)先從一個典故理解L鏈和U型鏈天朝故事古代皇帝寫了一本書,只要找出書中的問題,賞銀3000兩天朝故事二古代皇帝開國大典上賞銀3000兩什么都沒想收下了3000兩黃金事件分發(fā)調(diào)用次數(shù)事件分發(fā)組成組成分發(fā)事件的組件,也稱為分發(fā)事件者,包括Activity、View和ViewGroup。它們?nèi)叩囊话憬Y(jié)構(gòu)為:事件分發(fā)回顧dispatchTouchEventonTouchEvent消費ActivitydispatchTouchEventonTouchEvent消費ViewGroupdispatchTouchEventonTouchEvent消費View天朝故事ActivityViewGroupView天朝故事ViewGroupView事件黃金該分給誰呢大臣應(yīng)該定義規(guī)則誰家里最窮就分給誰誰TM敢跟我比窮,我最窮02為什么所有的控件都需要繼承View,以及事件在View中的占比為什么所有控件都繼承View控件與事件的關(guān)系沒有事件的控件是沒有靈魂的,好比模型手機無論怎么按也沒有反應(yīng),只能看看。而每一個控件是事件傳遞的一員。切都具備處理事件傳遞規(guī)則的能力。意味著傳遞事件的代碼會抽象在一個類中這個抽象類是View所有控件都是繼承自View為什么所有控件都繼承View事件60%繪制10%測量15%其他25%View的源碼有27753行有圖為代碼的分類情況02如果你是Google工程師,你怎么設(shè)計事件分發(fā)框架你如何設(shè)計事件分發(fā)控件假設(shè)如果你現(xiàn)在是Google工程師,由你來設(shè)計Android最核心的事件模塊,你會怎么設(shè)計設(shè)計結(jié)果ViewImageViewViewGroup繼承方式:所有控件繼承View確保不論容器類和子控件都能處理事件設(shè)計結(jié)果ViewGroupImageViewViewGroupViewGroupViewImageView包含方式:所有容器類能加載子控件,子控件不能包含容器和子控件設(shè)計結(jié)果ViewGroupImageViewViewGroupViewGroupViewImageView包含方式:所有容器類能加載子控件,子控件不能包含容器和子控件02事件回收池回收池回收池理想中的回收池回收池是一個集合需要提供put(存)的方法需要提供get(取)的方法如何快速查考能夠響應(yīng)的控件ViewView手機屏幕導(dǎo)電傳感器電路板轉(zhuǎn)換成電頻ActivityLinuxJni接口WindowManagerService如何快速查考能夠響應(yīng)的控件ViewView點擊事件架構(gòu)的回收池sRecycleBin是一個Target類型(target是一個單向鏈表)sRecycleBin必須是一個靜態(tài)的變量回收池大小必須通過另外的靜態(tài)變量進行控制TargetnextTargetnextTargetnextTargetnextTargetnextsRecycleBinsRecycleBin02系統(tǒng)源碼-事件分發(fā)機制WindowManagerService定義它

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論