Digging more into the EventFlow

来自Blueidea
enc0717讨论 | 贡献2011-04-16T22:34:24的版本

跳转至: 导航搜索

深入挖掘ActionScript3事件流的原理和細節。

構架

FlashPlatform DEF base.png

 ActionScript3单一事件处理模型基於W3C DOM3規範。
 簡單來說。AVM2底層將Flash的元素表示一個樹狀結構。複合DOM的規範。
 AVM2的垃圾回收機制也是在此基礎上。參見參考資料中的FlashPlatform GC
 總體上ActionScript3的事件流設施分為以下兩個部份:

FlashPlatform Numbers1.jpg虛線左側的DOM區。這是AVM底層實現並封裝的黑盒,用戶不需要瞭解其中細節。如果您的確要瞭解。請看參考資料。
FlashPlatform Numbers2.jpg虛線右側的Custom區。包含事件流機制構成以及提供給用戶的接口。

DOM區提供一個接入點。用於支持事件流機制以訪問當前對象的樹模型。
用戶不需要知道事件流機制的實現細節也無法修改這個機制,因此只需要提供出派發和接收事件的支持。

結點

事件流機制通常描述為一個三階段的流程。並以stage為根節點出發。 FlashPlatform EFA.jpg

同步和異步

在程序的設計上是異步的。具體實現是同步。待編輯條目。

事件流體系結構

參考資料

[DOM3核心]
FlashPlatform GC