際際滷

際際滷Share a Scribd company logo
亳亰仆亠仆仆亶 亳从仍 从仂仄仗仂仆亠仆仂于 Component Lifecycle Overview 舒于亠仍 仂亢亳仆 [email_address] Exigen Services
丼仂 舒从仂亠 亢亳亰仆亠仆仆亶 亳从仍 亳 亟仍 亠亞仂 仂仆 仆亢亠仆   弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 Construction Configuration Attachment Initialization Invalidation Interaction Detachment Garbage Collection
亟亳仆舒 从仂仆亠仗亳   丕仗舒于仍亠仆亳亠 亠舒仍亳亰舒亳 亠亠仂仗亠亟亠仍亠仆亳亠 createChildren() commitProperties() measure() updateDisplayList()
个舒亰舒 1
仆舒仆亳亳仂于舒仆亳亠 仂亟仗亳从舒 仆舒 仂弍亳 亳仄亠仆亠仆亳亠 亳仍亠亶 弌仂亰亟舒仆亳亠 亟仂亠仆亳 仍亠仄亠仆仂于 <local:MyCopm/> var comp:MyComp = new MyCopm(); comp.setStyle(, ); public function MyCopm { super(); addEventListener( MouseEvent.CLICK, clickHandler); } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 1
仂仆从仂 systemManager, stage, root getStyle()  ( 亢亟仄  createChildren()) 仂于仂仆仂亠 于仗仂仍仆亠仆亳亠 从仂亟舒 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 <my:CustomBtn/> var btn:CustomBtn = new CustomBtn(); btn.setStyle(, ); public function CustomBtn { super(); addEventListener( MouseEvent.CLICK, clickHandler); } 1
get/set  仄亠仂亟 仗仂仍仆ム 亟仂 亳仆亳亳舒仍亳亰舒亳亳 舒从亳仄舒仍仆仂 弍亠! 仗仂仍亰仂于舒 于舒仍亳亟舒亳 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 var foo:Array = [Hello, World!]; public function set data(val:Array):void{ _data = val; dataChanged = true; invalidateProperties(); } 1
个舒亰舒 2
弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 parentComponent.addChild(instance); 2 addChild() / addChildAt() initialize() 亰仂于 于仆 亟仍  仆亠 于亳亰舒仍仆 从仂仄仗仂仆亠仆仂于
个舒亰 亳仆亳亳舒仍亳亰舒亳亳 1. 弌仂弍亳亠  preinitialize 2. createChildren() initialize() 亠亳 仂亟亳亠仍亳 4. 舒仍亳亟舒亳 弌仂弍亳亠  creationComplete Committed Measured Updated 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
createChildren() 亠亠仂仗亠亟亠仍亠仆亳亠 亠仄舒仆亠仆仆 仗仂亟从仂仄仗仂仆亠仆 束弌仂亰亟舒仆亳亠  仂仆亳亞舒亳  亳仂亠亟亳仆亠仆亳亠損 super.createChildren() 亳仆舒仄亳从 仂仍仂亢亳仄 亟仂 于舒仍亳亟舒亳亳! 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
亳仄亠 仗亠亠仂仗亠亟亠仍亠仆亳 protected var closeButon:UIComponent; override protected function  createChildren():void{ if (!closeButton){ closButton = new Button(); Button(closeButton).label = x; } addChild(closeButton); closeButton.addEventListener( MouseEvent.CLICK, clickHandler); super.createChildren(); } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
仍仂亢亠仆仆舒 于舒仍亳亟舒亳 仍仂亢亳 仂弍舒弍仂从 亳亰仄亠仆亠仆亳亶 弌仂舒仆亳 于仂从 仗仂亳亰于仂亟亳亠仍仆仂 个仆从亳亳 亳仆于舒仍亳亟舒亳亳 invalidateProperties() invalidateSize() invalidateDisplayList() 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
舒仍亳亟舒亳: 仂仍  LayoutManager 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2 LayoutManager invalidatePropertiesQueue invalidateSizeQueue invalidateDisplayListQueue validateProperties() validateSize() validateDisplayList()
commitProperties() 弍舒弍仂从舒 亟亳仆舒仄亳亠从亳 亟舒仆仆 仗仂仍亰亠仄 仍舒亞亳! 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2 invalidateProperties() validateProperties() commitProperties()
亳仄亠  commitProperties() public function set historyManagementEnabled(value:Boolean) : void{ if (value != _historyManagementEnabled){ _historyManagementEnabled = value ; historyManagementEnabledChanged = true; invalidateProperties(); } } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
measure() 亠亟仗仂亳亠仍仆亶 舒亰仄亠 measuredWidth / measuredHeight measuredMinWidth / measureMinHeight 亰于舒亠 舒于仂仄舒亳亠从亳 亠 于亰于舒亠 仗亳  explicitWidth / explicitHeight 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2 invalidateSize() validateSize() masure()
亳仄亠  measure() override protected function measure():void { for (var i:int = 0; i < numChildren; ++i){ var child:UIComponent = UIComponent(getChildAt()) measuredHeight += child.getExplicitOrMeasuredHeight() + VERTICAL_GAP; } measuredMinWidth = 10; measuredMinHeight = measuredHeight; } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
updateDisplayList() 仂亠仆亳亠 亠仍亠仄亠仆 仂亰亳亳仂仆亳仂于舒仆亳亠 舒亰仄亠 Drawing API 从舒仍仆亶 舒亰仄亠 于舒于仍磳 亰亟亠! 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2 invalidateDisplayList() validateDisplayList() updateDisplayList()
亳仄亠  updateDisplayList() override protected function updateDisplayList():void{  item.data = data; UIComponentGlobals.layoutManager.validateClient( item, true); var w:Number = item.getExplicitOrMeasuredWidth(); item.setActualSize(w, h); item.move(x, y); } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
舒亰仄亠 Measured (measuredWidth) 亠亟仗仂亳亠仍仆亶 舒亰仄亠 亳仍磳  measure() Explicit (explicitWidth) 亳于舒亳于舒亠 仗仂仍亰仂于舒亠仍亠仄 <mx:Button width=100/> Percentage   (percentWidth) 亳于舒亳于舒亠 仗仂仍亰仂于舒亠仍亠仄 亳仍磳 仂亟亳亠仍亠仄 <mx:Button width=100%/> Actual setActualSize() 亳于舒亳于舒亠 于  updateDisplayList()  仂亟亳亠仍亠仄 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
个舒亰舒 3
亟亠仍仆舒 亠仄舒 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 3
个舒亰舒 4
丕弍仂从舒 亠仂亟 亟舒仍亠仆亳 removeChild() removeChildAt() removeAllChildren() visible=false  亟仍 仗仂仂礌仆 仍亠仄亠仆仂于 弌弍仂亳从 仄仂舒 弌仍从亳 仆舒 仂弍亠从 弍舒弍仂亳从亳 仂弍亳亶 binding Dictionary 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 4
弌舒于仆亠仆亳亠 亳从仍舒  MX(AS2)  亳  Flex  destroyObject(id:String) removeChild invalidateSize invalidateDisplayList redraw commitProperties redraw measure draw / size updateDisplayList invalidate invalidateProperties removeChildAt createChildren createChildren init initialize createObject / createClassObject addChild/addChildAt
仂仗仂? 舒于亠仍 仂亢亳仆 [email_address] Exigen Services

More Related Content

Similar to Flex Component Lifecycle Overview (20)

舒从 仆舒于亠亳 仗仂磲仂从 于 从仂亟亠 于舒亠亞仂 web-仗亳仍仂亢亠仆亳, 仆亟亠亶 丼亠弍从亳仆
舒从 仆舒于亠亳 仗仂磲仂从 于 从仂亟亠 于舒亠亞仂 web-仗亳仍仂亢亠仆亳, 仆亟亠亶 丼亠弍从亳仆 舒从 仆舒于亠亳 仗仂磲仂从 于 从仂亟亠 于舒亠亞仂 web-仗亳仍仂亢亠仆亳, 仆亟亠亶 丼亠弍从亳仆
舒从 仆舒于亠亳 仗仂磲仂从 于 从仂亟亠 于舒亠亞仂 web-仗亳仍仂亢亠仆亳, 仆亟亠亶 丼亠弍从亳仆
Sigma Software
舒亰弍亳舒亠仄 CoordinatorLayout
舒亰弍亳舒亠仄  CoordinatorLayout舒亰弍亳舒亠仄  CoordinatorLayout
舒亰弍亳舒亠仄 CoordinatorLayout
Rambler Android
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
Andrii Dzynia
Mobile automation uamobile
Mobile automation uamobileMobile automation uamobile
Mobile automation uamobile
UA Mobile
Unit tests final
Unit tests finalUnit tests final
Unit tests final
corehard_by
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 3 仍亠从亳. 仆亠亠亶, 仗仂仍仂仍亢亠仆亳亠
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 3 仍亠从亳. 仆亠亠亶, 仗仂仍仂仍亢亠仆亳亠丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 3 仍亠从亳. 仆亠亠亶, 仗仂仍仂仍亢亠仆亳亠
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 3 仍亠从亳. 仆亠亠亶, 仗仂仍仂仍亢亠仆亳亠
仍亠弍 丐舒舒仂于
iOS-05_1-UIKit
iOS-05_1-UIKitiOS-05_1-UIKit
iOS-05_1-UIKit
Noveo
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 5 仍亠从亳. 舒亰仆仂亠
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 5 仍亠从亳. 舒亰仆仂亠丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 5 仍亠从亳. 舒亰仆仂亠
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 5 仍亠从亳. 舒亰仆仂亠
仍亠弍 丐舒舒仂于
从仂于仂亟于仂 仗仂 仗亳亞仂仂于仍亠仆亳 弍亠弍仂亟仂于 亳亰 Selenium
从仂于仂亟于仂 仗仂 仗亳亞仂仂于仍亠仆亳 弍亠弍仂亟仂于 亳亰 Selenium从仂于仂亟于仂 仗仂 仗亳亞仂仂于仍亠仆亳 弍亠弍仂亟仂于 亳亰 Selenium
从仂于仂亟于仂 仗仂 仗亳亞仂仂于仍亠仆亳 弍亠弍仂亟仂于 亳亰 Selenium
Uladzimir Kryvenka
Unity standalone project development: improving efficiency
Unity standalone project development: improving efficiencyUnity standalone project development: improving efficiency
Unity standalone project development: improving efficiency
DevGAMM Conference
亠于仂仍仂亟 丿仄仂于, 亊仆亟亠从
亠于仂仍仂亟 丿仄仂于, 亊仆亟亠从亠于仂仍仂亟 丿仄仂于, 亊仆亟亠从
亠于仂仍仂亟 丿仄仂于, 亊仆亟亠从
Elena Voynova
iOS-05_2-UIKit
iOS-05_2-UIKitiOS-05_2-UIKit
iOS-05_2-UIKit
Noveo
亠仆亳 亠从仍ミ莞笑. 亠亢亳 于仂亠 仗亳仍仂亢亠仆亳亠 仆舒 于仂仍仆亠 仆仂于亳仆仂从. 个-仂仂仆亠亢 2016
亠仆亳 亠从仍ミ莞笑. 亠亢亳 于仂亠 仗亳仍仂亢亠仆亳亠 仆舒 于仂仍仆亠 仆仂于亳仆仂从. 个-仂仂仆亠亢 2016亠仆亳 亠从仍ミ莞笑. 亠亢亳 于仂亠 仗亳仍仂亢亠仆亳亠 仆舒 于仂仍仆亠 仆仂于亳仆仂从. 个-仂仂仆亠亢 2016
亠仆亳 亠从仍ミ莞笑. 亠亢亳 于仂亠 仗亳仍仂亢亠仆亳亠 仆舒 于仂仍仆亠 仆仂于亳仆仂从. 个-仂仂仆亠亢 2016
个-仂仂仆亠亢
Android service
Android serviceAndroid service
Android service
Kirill Rozov
亠亠仍舒 亠仄舒. 弌仂亠亟亳.
亠亠仍舒 亠仄舒. 弌仂亠亟亳.亠亠仍舒 亠仄舒. 弌仂亠亟亳.
亠亠仍舒 亠仄舒. 弌仂亠亟亳.
Doomer Samoiloff
PVS-Studio 于 2021 - 亳仄亠 仂亳弍仂从
PVS-Studio 于 2021 - 亳仄亠 仂亳弍仂从PVS-Studio 于 2021 - 亳仄亠 仂亳弍仂从
PVS-Studio 于 2021 - 亳仄亠 仂亳弍仂从
Andrey Karpov
于仂仄舒亳亰舒亳 UI 亠亳仂于舒仆亳 仗仂亟 Windows 亳 Windows Phone
于仂仄舒亳亰舒亳 UI 亠亳仂于舒仆亳 仗仂亟 Windows 亳 Windows Phone于仂仄舒亳亰舒亳 UI 亠亳仂于舒仆亳 仗仂亟 Windows 亳 Windows Phone
于仂仄舒亳亰舒亳 UI 亠亳仂于舒仆亳 仗仂亟 Windows 亳 Windows Phone
CodeFest
CodeFest 2013. 亳从仂仆仂于 . 舒从 仄 舒亰舒弍舒于舒亠仄 仗亳仍仂亢亠仆亳 亟仍 Windows Phone...
CodeFest 2013. 亳从仂仆仂于 .  舒从 仄 舒亰舒弍舒于舒亠仄 仗亳仍仂亢亠仆亳 亟仍 Windows Phone...CodeFest 2013. 亳从仂仆仂于 .  舒从 仄 舒亰舒弍舒于舒亠仄 仗亳仍仂亢亠仆亳 亟仍 Windows Phone...
CodeFest 2013. 亳从仂仆仂于 . 舒从 仄 舒亰舒弍舒于舒亠仄 仗亳仍仂亢亠仆亳 亟仍 Windows Phone...
CodeFest
jQuery: 弍舒 舒亰舒弍仂从舒 于亠弍-亳仆亠亠亶仂于 仆舒 JavaScript
jQuery: 弍舒 舒亰舒弍仂从舒 于亠弍-亳仆亠亠亶仂于 仆舒 JavaScriptjQuery: 弍舒 舒亰舒弍仂从舒 于亠弍-亳仆亠亠亶仂于 仆舒 JavaScript
jQuery: 弍舒 舒亰舒弍仂从舒 于亠弍-亳仆亠亠亶仂于 仆舒 JavaScript
Constantin Kichinsky
束Custom View. 亠仍舒亠仄 弍仂, 从舒亳于仂, 亳仂損. 仍 亠仄亳亟仂于
束Custom View. 亠仍舒亠仄 弍仂, 从舒亳于仂, 亳仂損. 仍 亠仄亳亟仂于束Custom View. 亠仍舒亠仄 弍仂, 从舒亳于仂, 亳仂損. 仍 亠仄亳亟仂于
束Custom View. 亠仍舒亠仄 弍仂, 从舒亳于仂, 亳仂損. 仍 亠仄亳亟仂于
DataArt
舒从 仆舒于亠亳 仗仂磲仂从 于 从仂亟亠 于舒亠亞仂 web-仗亳仍仂亢亠仆亳, 仆亟亠亶 丼亠弍从亳仆
舒从 仆舒于亠亳 仗仂磲仂从 于 从仂亟亠 于舒亠亞仂 web-仗亳仍仂亢亠仆亳, 仆亟亠亶 丼亠弍从亳仆 舒从 仆舒于亠亳 仗仂磲仂从 于 从仂亟亠 于舒亠亞仂 web-仗亳仍仂亢亠仆亳, 仆亟亠亶 丼亠弍从亳仆
舒从 仆舒于亠亳 仗仂磲仂从 于 从仂亟亠 于舒亠亞仂 web-仗亳仍仂亢亠仆亳, 仆亟亠亶 丼亠弍从亳仆
Sigma Software
舒亰弍亳舒亠仄 CoordinatorLayout
舒亰弍亳舒亠仄  CoordinatorLayout舒亰弍亳舒亠仄  CoordinatorLayout
舒亰弍亳舒亠仄 CoordinatorLayout
Rambler Android
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
Andrii Dzynia
Mobile automation uamobile
Mobile automation uamobileMobile automation uamobile
Mobile automation uamobile
UA Mobile
Unit tests final
Unit tests finalUnit tests final
Unit tests final
corehard_by
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 3 仍亠从亳. 仆亠亠亶, 仗仂仍仂仍亢亠仆亳亠
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 3 仍亠从亳. 仆亠亠亶, 仗仂仍仂仍亢亠仆亳亠丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 3 仍亠从亳. 仆亠亠亶, 仗仂仍仂仍亢亠仆亳亠
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 3 仍亠从亳. 仆亠亠亶, 仗仂仍仂仍亢亠仆亳亠
仍亠弍 丐舒舒仂于
iOS-05_1-UIKit
iOS-05_1-UIKitiOS-05_1-UIKit
iOS-05_1-UIKit
Noveo
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 5 仍亠从亳. 舒亰仆仂亠
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 5 仍亠从亳. 舒亰仆仂亠丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 5 仍亠从亳. 舒亰仆仂亠
丿从仂仍舒-弌亟亳 舒亰舒弍仂从亳 仗亳仍仂亢亠仆亳亶 亟仍 iOS. 5 仍亠从亳. 舒亰仆仂亠
仍亠弍 丐舒舒仂于
从仂于仂亟于仂 仗仂 仗亳亞仂仂于仍亠仆亳 弍亠弍仂亟仂于 亳亰 Selenium
从仂于仂亟于仂 仗仂 仗亳亞仂仂于仍亠仆亳 弍亠弍仂亟仂于 亳亰 Selenium从仂于仂亟于仂 仗仂 仗亳亞仂仂于仍亠仆亳 弍亠弍仂亟仂于 亳亰 Selenium
从仂于仂亟于仂 仗仂 仗亳亞仂仂于仍亠仆亳 弍亠弍仂亟仂于 亳亰 Selenium
Uladzimir Kryvenka
Unity standalone project development: improving efficiency
Unity standalone project development: improving efficiencyUnity standalone project development: improving efficiency
Unity standalone project development: improving efficiency
DevGAMM Conference
亠于仂仍仂亟 丿仄仂于, 亊仆亟亠从
亠于仂仍仂亟 丿仄仂于, 亊仆亟亠从亠于仂仍仂亟 丿仄仂于, 亊仆亟亠从
亠于仂仍仂亟 丿仄仂于, 亊仆亟亠从
Elena Voynova
iOS-05_2-UIKit
iOS-05_2-UIKitiOS-05_2-UIKit
iOS-05_2-UIKit
Noveo
亠仆亳 亠从仍ミ莞笑. 亠亢亳 于仂亠 仗亳仍仂亢亠仆亳亠 仆舒 于仂仍仆亠 仆仂于亳仆仂从. 个-仂仂仆亠亢 2016
亠仆亳 亠从仍ミ莞笑. 亠亢亳 于仂亠 仗亳仍仂亢亠仆亳亠 仆舒 于仂仍仆亠 仆仂于亳仆仂从. 个-仂仂仆亠亢 2016亠仆亳 亠从仍ミ莞笑. 亠亢亳 于仂亠 仗亳仍仂亢亠仆亳亠 仆舒 于仂仍仆亠 仆仂于亳仆仂从. 个-仂仂仆亠亢 2016
亠仆亳 亠从仍ミ莞笑. 亠亢亳 于仂亠 仗亳仍仂亢亠仆亳亠 仆舒 于仂仍仆亠 仆仂于亳仆仂从. 个-仂仂仆亠亢 2016
个-仂仂仆亠亢
Android service
Android serviceAndroid service
Android service
Kirill Rozov
亠亠仍舒 亠仄舒. 弌仂亠亟亳.
亠亠仍舒 亠仄舒. 弌仂亠亟亳.亠亠仍舒 亠仄舒. 弌仂亠亟亳.
亠亠仍舒 亠仄舒. 弌仂亠亟亳.
Doomer Samoiloff
PVS-Studio 于 2021 - 亳仄亠 仂亳弍仂从
PVS-Studio 于 2021 - 亳仄亠 仂亳弍仂从PVS-Studio 于 2021 - 亳仄亠 仂亳弍仂从
PVS-Studio 于 2021 - 亳仄亠 仂亳弍仂从
Andrey Karpov
于仂仄舒亳亰舒亳 UI 亠亳仂于舒仆亳 仗仂亟 Windows 亳 Windows Phone
于仂仄舒亳亰舒亳 UI 亠亳仂于舒仆亳 仗仂亟 Windows 亳 Windows Phone于仂仄舒亳亰舒亳 UI 亠亳仂于舒仆亳 仗仂亟 Windows 亳 Windows Phone
于仂仄舒亳亰舒亳 UI 亠亳仂于舒仆亳 仗仂亟 Windows 亳 Windows Phone
CodeFest
CodeFest 2013. 亳从仂仆仂于 . 舒从 仄 舒亰舒弍舒于舒亠仄 仗亳仍仂亢亠仆亳 亟仍 Windows Phone...
CodeFest 2013. 亳从仂仆仂于 .  舒从 仄 舒亰舒弍舒于舒亠仄 仗亳仍仂亢亠仆亳 亟仍 Windows Phone...CodeFest 2013. 亳从仂仆仂于 .  舒从 仄 舒亰舒弍舒于舒亠仄 仗亳仍仂亢亠仆亳 亟仍 Windows Phone...
CodeFest 2013. 亳从仂仆仂于 . 舒从 仄 舒亰舒弍舒于舒亠仄 仗亳仍仂亢亠仆亳 亟仍 Windows Phone...
CodeFest
jQuery: 弍舒 舒亰舒弍仂从舒 于亠弍-亳仆亠亠亶仂于 仆舒 JavaScript
jQuery: 弍舒 舒亰舒弍仂从舒 于亠弍-亳仆亠亠亶仂于 仆舒 JavaScriptjQuery: 弍舒 舒亰舒弍仂从舒 于亠弍-亳仆亠亠亶仂于 仆舒 JavaScript
jQuery: 弍舒 舒亰舒弍仂从舒 于亠弍-亳仆亠亠亶仂于 仆舒 JavaScript
Constantin Kichinsky
束Custom View. 亠仍舒亠仄 弍仂, 从舒亳于仂, 亳仂損. 仍 亠仄亳亟仂于
束Custom View. 亠仍舒亠仄 弍仂, 从舒亳于仂, 亳仂損. 仍 亠仄亳亟仂于束Custom View. 亠仍舒亠仄 弍仂, 从舒亳于仂, 亳仂損. 仍 亠仄亳亟仂于
束Custom View. 亠仍舒亠仄 弍仂, 从舒亳于仂, 亳仂損. 仍 亠仄亳亟仂于
DataArt

More from Constantiner (6)

Flex 4 Gumbo
Flex 4 GumboFlex 4 Gumbo
Flex 4 Gumbo
Constantiner
舒从仂亠 于于亠亟亠仆亳亠 于 Mate Flex framework
舒从仂亠 于于亠亟亠仆亳亠 于 Mate Flex framework舒从仂亠 于于亠亟亠仆亳亠 于 Mate Flex framework
舒从仂亠 于于亠亟亠仆亳亠 于 Mate Flex framework
Constantiner
Cairngorm Microarchitecture
Cairngorm MicroarchitectureCairngorm Microarchitecture
Cairngorm Microarchitecture
Constantiner
亳亠从仆亠 仗仂弍仍亠仄 Flex-仗亳仍仂亢亠仆亳亶
亳亠从仆亠 仗仂弍仍亠仄 Flex-仗亳仍仂亢亠仆亳亶亳亠从仆亠 仗仂弍仍亠仄 Flex-仗亳仍仂亢亠仆亳亶
亳亠从仆亠 仗仂弍仍亠仄 Flex-仗亳仍仂亢亠仆亳亶
Constantiner
Data Binding in Flex
Data Binding in FlexData Binding in Flex
Data Binding in Flex
Constantiner
Customizing Flex Apps
Customizing Flex AppsCustomizing Flex Apps
Customizing Flex Apps
Constantiner
舒从仂亠 于于亠亟亠仆亳亠 于 Mate Flex framework
舒从仂亠 于于亠亟亠仆亳亠 于 Mate Flex framework舒从仂亠 于于亠亟亠仆亳亠 于 Mate Flex framework
舒从仂亠 于于亠亟亠仆亳亠 于 Mate Flex framework
Constantiner
Cairngorm Microarchitecture
Cairngorm MicroarchitectureCairngorm Microarchitecture
Cairngorm Microarchitecture
Constantiner
亳亠从仆亠 仗仂弍仍亠仄 Flex-仗亳仍仂亢亠仆亳亶
亳亠从仆亠 仗仂弍仍亠仄 Flex-仗亳仍仂亢亠仆亳亶亳亠从仆亠 仗仂弍仍亠仄 Flex-仗亳仍仂亢亠仆亳亶
亳亠从仆亠 仗仂弍仍亠仄 Flex-仗亳仍仂亢亠仆亳亶
Constantiner
Data Binding in Flex
Data Binding in FlexData Binding in Flex
Data Binding in Flex
Constantiner
Customizing Flex Apps
Customizing Flex AppsCustomizing Flex Apps
Customizing Flex Apps
Constantiner

Flex Component Lifecycle Overview

  • 1. 亳亰仆亠仆仆亶 亳从仍 从仂仄仗仂仆亠仆仂于 Component Lifecycle Overview 舒于亠仍 仂亢亳仆 [email_address] Exigen Services
  • 2. 丼仂 舒从仂亠 亢亳亰仆亠仆仆亶 亳从仍 亳 亟仍 亠亞仂 仂仆 仆亢亠仆 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 Construction Configuration Attachment Initialization Invalidation Interaction Detachment Garbage Collection
  • 3. 亟亳仆舒 从仂仆亠仗亳 丕仗舒于仍亠仆亳亠 亠舒仍亳亰舒亳 亠亠仂仗亠亟亠仍亠仆亳亠 createChildren() commitProperties() measure() updateDisplayList()
  • 5. 仆舒仆亳亳仂于舒仆亳亠 仂亟仗亳从舒 仆舒 仂弍亳 亳仄亠仆亠仆亳亠 亳仍亠亶 弌仂亰亟舒仆亳亠 亟仂亠仆亳 仍亠仄亠仆仂于 <local:MyCopm/> var comp:MyComp = new MyCopm(); comp.setStyle(, ); public function MyCopm { super(); addEventListener( MouseEvent.CLICK, clickHandler); } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 1
  • 6. 仂仆从仂 systemManager, stage, root getStyle() ( 亢亟仄 createChildren()) 仂于仂仆仂亠 于仗仂仍仆亠仆亳亠 从仂亟舒 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 <my:CustomBtn/> var btn:CustomBtn = new CustomBtn(); btn.setStyle(, ); public function CustomBtn { super(); addEventListener( MouseEvent.CLICK, clickHandler); } 1
  • 7. get/set 仄亠仂亟 仗仂仍仆ム 亟仂 亳仆亳亳舒仍亳亰舒亳亳 舒从亳仄舒仍仆仂 弍亠! 仗仂仍亰仂于舒 于舒仍亳亟舒亳 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 var foo:Array = [Hello, World!]; public function set data(val:Array):void{ _data = val; dataChanged = true; invalidateProperties(); } 1
  • 9. 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 parentComponent.addChild(instance); 2 addChild() / addChildAt() initialize() 亰仂于 于仆 亟仍 仆亠 于亳亰舒仍仆 从仂仄仗仂仆亠仆仂于
  • 10. 个舒亰 亳仆亳亳舒仍亳亰舒亳亳 1. 弌仂弍亳亠 preinitialize 2. createChildren() initialize() 亠亳 仂亟亳亠仍亳 4. 舒仍亳亟舒亳 弌仂弍亳亠 creationComplete Committed Measured Updated 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
  • 11. createChildren() 亠亠仂仗亠亟亠仍亠仆亳亠 亠仄舒仆亠仆仆 仗仂亟从仂仄仗仂仆亠仆 束弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠損 super.createChildren() 亳仆舒仄亳从 仂仍仂亢亳仄 亟仂 于舒仍亳亟舒亳亳! 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
  • 12. 亳仄亠 仗亠亠仂仗亠亟亠仍亠仆亳 protected var closeButon:UIComponent; override protected function createChildren():void{ if (!closeButton){ closButton = new Button(); Button(closeButton).label = x; } addChild(closeButton); closeButton.addEventListener( MouseEvent.CLICK, clickHandler); super.createChildren(); } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
  • 13. 仍仂亢亠仆仆舒 于舒仍亳亟舒亳 仍仂亢亳 仂弍舒弍仂从 亳亰仄亠仆亠仆亳亶 弌仂舒仆亳 于仂从 仗仂亳亰于仂亟亳亠仍仆仂 个仆从亳亳 亳仆于舒仍亳亟舒亳亳 invalidateProperties() invalidateSize() invalidateDisplayList() 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
  • 14. 舒仍亳亟舒亳: 仂仍 LayoutManager 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2 LayoutManager invalidatePropertiesQueue invalidateSizeQueue invalidateDisplayListQueue validateProperties() validateSize() validateDisplayList()
  • 15. commitProperties() 弍舒弍仂从舒 亟亳仆舒仄亳亠从亳 亟舒仆仆 仗仂仍亰亠仄 仍舒亞亳! 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2 invalidateProperties() validateProperties() commitProperties()
  • 16. 亳仄亠 commitProperties() public function set historyManagementEnabled(value:Boolean) : void{ if (value != _historyManagementEnabled){ _historyManagementEnabled = value ; historyManagementEnabledChanged = true; invalidateProperties(); } } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
  • 17. measure() 亠亟仗仂亳亠仍仆亶 舒亰仄亠 measuredWidth / measuredHeight measuredMinWidth / measureMinHeight 亰于舒亠 舒于仂仄舒亳亠从亳 亠 于亰于舒亠 仗亳 explicitWidth / explicitHeight 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2 invalidateSize() validateSize() masure()
  • 18. 亳仄亠 measure() override protected function measure():void { for (var i:int = 0; i < numChildren; ++i){ var child:UIComponent = UIComponent(getChildAt()) measuredHeight += child.getExplicitOrMeasuredHeight() + VERTICAL_GAP; } measuredMinWidth = 10; measuredMinHeight = measuredHeight; } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
  • 19. updateDisplayList() 仂亠仆亳亠 亠仍亠仄亠仆 仂亰亳亳仂仆亳仂于舒仆亳亠 舒亰仄亠 Drawing API 从舒仍仆亶 舒亰仄亠 于舒于仍磳 亰亟亠! 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2 invalidateDisplayList() validateDisplayList() updateDisplayList()
  • 20. 亳仄亠 updateDisplayList() override protected function updateDisplayList():void{ item.data = data; UIComponentGlobals.layoutManager.validateClient( item, true); var w:Number = item.getExplicitOrMeasuredWidth(); item.setActualSize(w, h); item.move(x, y); } 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
  • 21. 舒亰仄亠 Measured (measuredWidth) 亠亟仗仂亳亠仍仆亶 舒亰仄亠 亳仍磳 measure() Explicit (explicitWidth) 亳于舒亳于舒亠 仗仂仍亰仂于舒亠仍亠仄 <mx:Button width=100/> Percentage (percentWidth) 亳于舒亳于舒亠 仗仂仍亰仂于舒亠仍亠仄 亳仍磳 仂亟亳亠仍亠仄 <mx:Button width=100%/> Actual setActualSize() 亳于舒亳于舒亠 于 updateDisplayList() 仂亟亳亠仍亠仄 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 2
  • 23. 亟亠仍仆舒 亠仄舒 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 3
  • 25. 丕弍仂从舒 亠仂亟 亟舒仍亠仆亳 removeChild() removeChildAt() removeAllChildren() visible=false 亟仍 仗仂仂礌仆 仍亠仄亠仆仂于 弌弍仂亳从 仄仂舒 弌仍从亳 仆舒 仂弍亠从 弍舒弍仂亳从亳 仂弍亳亶 binding Dictionary 弌仂亰亟舒仆亳亠 仂仆亳亞舒亳 亳仂亠亟亳仆亠仆亳亠 仆亳亳舒仍亳亰舒亳 仆于舒仍亳亟舒亳 亰舒亳仄仂亟亠亶于亳亠 丕亟舒仍亠仆亳亠 弌弍仂从舒 仄仂舒 4
  • 26. 弌舒于仆亠仆亳亠 亳从仍舒 MX(AS2) 亳 Flex destroyObject(id:String) removeChild invalidateSize invalidateDisplayList redraw commitProperties redraw measure draw / size updateDisplayList invalidate invalidateProperties removeChildAt createChildren createChildren init initialize createObject / createClassObject addChild/addChildAt
  • 27. 仂仗仂? 舒于亠仍 仂亢亳仆 [email_address] Exigen Services