두 가지 주요 부분으로 구성된 기능이 있습니다 (A와 B라고 부릅니다). 파트 B가 레이아웃 변경으로 완전히 완료되면 파트 B가 실행되어야합니다. 그러나 "part A is done"신호가 없으므로 part B가 실행되기 전에 validateNow()를 호출했습니다. 이것은 효과가 있지만 너무 비효율적 인 것 같습니다. 즉, 즉각적인 조치를 강요하는 다른 트릭이 있는지 또는 그 라인을 따라 무엇인가가 있는지 궁금 해서요. 감사합니다.강제로 재 측정
강제로 재 측정
답변
updateDisplayList()
에서 B 부분을 호출 할 수 있습니다. A 부분을 마무리 한 후 함수 내에서 다음
private var partAPerformed:Boolean;
: 그 내용은
당신은 어떤 플래그를 도입 할 필요가
partAPerformed = true;
invalidateDisplayList();
: 그리고 나에서
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
if (partAPerformed)
{
// Part B
partAPerformed = false;
}
}
개인적으로 updateComplete 처리기를 추가하는 것이 updateDisplayList()에 무언가를 추가하는 것보다 더 나은 옵션이라고 생각합니다. updateDisplayList()는 모든 렌더링 이벤트 중에 반드시 실행되지는 않습니다. 그러나 사물이 어떻게 구현되고 원래 포스터의 코드가 없는지에 따라 달라 지므로 추측하기 어렵습니다. – JeffryHouser
설명하는 상황을 파악하는 데 어려움을 겪고 있기 때문에 일부 코드가 도움이됩니다. 내 말은, 계속 진행중인 작업은 비동기식이라고 생각합니다. 왜냐하면 분명히 어떤 동기식이라도 타이밍이 문제가되지 않기 때문입니다. 파트 A는 정확히 무엇을하고 있습니까?
그러나 이벤트 및 이벤트 수신기 측면에서 비동기 작업을 항상 고려해야합니다. 그래서 모든 것을 처리하는 하나의 함수를 만들려고하기보다는 하나의 이벤트가 다른 이벤트에서 전달되는 이벤트를 청취하는 두 가지 기능이 있습니다.
+1 PartA와 PartB 모두 UIComponents인지 궁금합니다. – JeffryHouser
- 1. WPF - OneWay 바인딩 재 측정
- 2. Makefile에서 어떻게 하나의 파일을 강제로 재 컴파일 할 수 있습니까?
- 3. 재 작성되지 않은 URL이 입력 된 경우에도 mod_rewrite RewriteRule을 강제로 재 작성하는 방법
- 4. 응용 프로그램/스레드에서 측정 된 측정 시간
- 5. asdoc을 강제로 강제로 실행하는 방법
- 6. 근거리 측정
- 7. 품질 측정
- 8. 측정 방법은?
- 9. ViewGroup에서 화면을 강제로 해제하려면 어떻게합니까?
- 10. 활동을 강제로 강제로 종료하고 스택에 남아있게하려면 어떻게합니까?
- 11. "강제로"강제로 외부 로컬 푸시를 통해 커밋?
- 12. F # 측정 단위, 측정 유형을 잃지 않고 캐스팅
- 13. Mdx는 측정 값과 측정 값에 대해 반복되는 값을 생성합니다.
- 14. 오디오 잡음 레벨 측정
- 15. 문자열의 픽셀 너비 측정
- 16. 자바 스크립트 포커스 측정
- 17. 웹 사이트 측정
- 18. 웹 서버의 성능 측정
- 19. 개발 플랫폼 효율성 측정
- 20. 좋은 코드 측정 도구입니까?
- 21. C에서 네트워크 대역폭 측정 #
- 22. PHP 성능 측정
- 23. 칼만 추적 - 측정 차이
- 24. ActionScript 화면 측정
- 25. MDX 측정 필터링
- 26. FPGA 측정 정확한 시간
- 27. PHP로 측정 유효성 확인
- 28. Fortran에서 측정 단위
- 29. 컨텍스트 스위치 시간을 측정
- 30. 측정 단위 변환
-1. A와 B가 무엇인지에 대한 설명과 코드를 제공하지 않았습니다. 함수가 실제로 단일 함수의 일부인 경우 다른 작업을 수행 할 필요없이 동 기적으로 실행해야합니다. – JeffryHouser