我今天想要解決的問題與大多數問題不同。我想讓應用程序更快地執行處理程序,以便在UI中看不到任何滯後。AS3&Flex:優化事件監聽器
我有一個類,其中包含一個TextInput
和生成的虛線,由一系列線組成。這個組件,我們稱之爲CardTextInput
,監聽父狀態更改。如果鼠標在該區域上方,則會顯示虛線,否則將隱藏。
如果只有一個CardTextInput
實例,如果我添加10,當鼠標移過它需要0.5秒來顯示虛線,而不是隻有一個,並立即顯示時,一切正常。
我該如何優化這種情況?
我今天想要解決的問題與大多數問題不同。我想讓應用程序更快地執行處理程序,以便在UI中看不到任何滯後。AS3&Flex:優化事件監聽器
我有一個類,其中包含一個TextInput
和生成的虛線,由一系列線組成。這個組件,我們稱之爲CardTextInput
,監聽父狀態更改。如果鼠標在該區域上方,則會顯示虛線,否則將隱藏。
如果只有一個CardTextInput
實例,如果我添加10,當鼠標移過它需要0.5秒來顯示虛線,而不是隻有一個,並立即顯示時,一切正常。
我該如何優化這種情況?
假設您在父myCanvas中添加了10個CardTextInput。
嘗試將CardTextInput'mouseEnabled和mouseChildren設置爲false
然後在myCanvas添加MouseMove事件監聽器
myCanvas.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
for each (var child:DisplayObject in myCanvas) {
child.dashLines.mouseEnabled = false;
child.dashLines.mouseChildren = false;
}
protected function onMouseMove(event:MouseEvent):void {
for each (var child:DisplayObject in myCanvas) {
child.dashLines.visible = false;
}
for each (child in myCanvas) {
if (child.hitTestPoint(event.stageX, event.stageY)) {
child.dashLines,visible = true;
break;
}
}
}
這很難告訴別人如何優化他們的代碼沒有看到任何代碼。 –
'由一系列線組成':假設你指的是許多Line的實例,請嘗試使用Path的一個實例。可以加快渲染速度。無論如何,如果只有10個,事件聽衆並不是你的瓶頸。但是 - 作爲@SunilD。指出 - 如果你不分享任何代碼,就不可能更精確。 – RIAstar