2017-11-06 3 views
0

Flex MX StyleManager에 문제가 있습니다. 나는 테마 지원을 구현하고 있는데 약 340 가지 스타일Flex MX 스타일 관리 성능

for (var i:int =1 ; i<whiteStyles.lenght; i++) 
    { 

view.styleManager.setStyleDeclaration(whiteStyles[i], view.styleManager.getStyleDeclaration(String(whiteStyles[i]).substr(String(whiteStyles[i]).lastIndexOf(".")) +"_blue"), false) 

     } 

    view.styleManager.setStyleDeclaration(whiteStyles[0], view.styleManager.getStyleDeclaration(whiteStyles[0]+"_blue"), true) 

UI를 내가 함수를 호출 처음 업데이트에 대한 I 함수 그것을 적용하는 데 걸리는 시간을 전화로이 약 2 초 정도 걸릴에 대한 setStyleDeclaration을 실행 30 초 이상 성장합니다. 이전에 스타일을 삭제하려고했지만 작동하지 않습니다. 개선 방법에 대한 정보가 필요하십니까?

답변

0

setStyleDeclaration이 비쌉니다. 그럴리 없어. 올바르게 '업데이트'플래그를 사용했습니다.

증가한 런타임 (2 초에서 30 초로 변경)에 대한 내 생각에 첫 번째 호출의 경우 아직 많은 구성 요소가 존재하지 않습니다. 후속 호출의 경우 아마도 더 많은 구성 요소가 만들어졌고이를 통과하는 데 더 많은 시간이 걸립니다 (모든 구성 요소는 표시 목록에 없어도 업데이트됩니다). 이 경우 유일한 해결책은 생성 된 구성 요소의 전체 수를 줄이는 것입니다. 다시 구성 요소를 다시 사용하여 줄일 수 있습니다.