生命週期補充

2021-06-27 20:48:52 字數 780 閱讀 1549

元件的生命週期旨在防止多次賦值改變屬性,而導致多次渲染造成cpu或記憶體負荷。考慮到這一點,所以採取了生命週期這一用法。

生命週期,首先將屬性更改的值先儲存在乙個過渡變數中,並不馬上賦值給相應的ui元件,而是採用分為2幀的做法,在第一幀中,只做純粹的**計算操作,

不涉及對ui的屬性操作,只是在利用過渡變數不斷的更新需要提交的最新屬性值,利用invalidate【失效函式】將要所標記失效的ui置於全域性的layout布局類的對應

失效佇列中,屬性失效佇列,尺寸失效佇列,布局失效佇列,然後通過addeventlistener(event.enter_frame)的幀事件偵聽,預定下一幀進行validate【生效函式】,

然後在layout中的validate中通過遍歷佇列中的ui,然後分別呼叫validate的生效函式,然後將過渡的屬性值整整切切的與ui掛鉤,使其發生實質的變化。在渲染階段

中按照順序依次執行提交階段,尺寸階段,布局階段,屬性提交階段,這裡由外到內的順序依次進行改變,尺寸階段,由內到外依次進行改變。

然後分別呼叫了各自ui的validate的函式,根據所處的階段,各自呼叫commit屬性提交,measure尺寸計算,updatedisplayobject的介面改變。

measure的函式在沒有明確規定explicitwidth和explicitheight下,規定預設的measurewidth和measureheight的值,或缺省的最大最小的寬高屬性。

而updatedisplayobject中,設定位於該ui中的子元件的寬高和和座標的函式,通過setactual設定寬高,通過move設定x,y值。

React 生命週期 生命週期方法

生命週期 掛載 更新 解除安裝 元件被建立 執行初始化 並被掛載到dom中,完成元件的第一次渲染 constructor props getderivedstatefromprops props,state render componentdidmount 元件被建立時會首先呼叫元件的構造方法,接受...

actived生命週期 Vuejs 生命週期

每個 vue 例項在被建立時都要經過一系列的初始化過程。如需要設定資料監聽 編譯模板 將例項掛載到 dom 並在資料變化時更新 dom 等。同時在這個過程中也會執行一些叫做生命週期鉤子的函式,這給了使用者在不同階段新增自己的 的機會。乙個 vue 例項 我們建立乙個 vue 例項,並在每個階段驗證 ...

生命週期篇 一 Activity生命週期理解

乙個activity 通俗點就叫乙個介面吧 在實際使用中會有幾種狀態 1.正在顯示 處於當前螢幕最頂層 2.尚且可見,但不可用 在其他介面下面,但未被完全覆蓋 3.完全不可見 被其他介面完全覆蓋,最常見的就是切換到桌面 以上是實際使用android手機的時候最直觀的介面狀態,那麼接下來我們來 一下,...