728x90

The MethodQueueElement class is an internal class of the mx.core.UIComponent class. It is used to represent on method call that has been enqueued by a callLater call. The callLater method is part of the public interface of UIComponent, so either you call it in your code, or it is beeing called by the framework (as it happens in UIComponent.setFocus e.g.)

To free all MethodQueueElement instances, UIComponent replaces the current array of MethodQueueElements by a new (empty) one. (in the callLaterDispatcher2 method) So the only way to make a memory leak out of it is, to prevent callLaterDispatcher2 from beeing called.

To debug this, you can start to set breakpoints (while you app is running) in the methods callLater (here your instances get created, so somehow it gets called all the time, look at the stacktrace here!), callLaterDispatcher2 (i suppose it wont get called), and check whether UIComponentGlobals.callLaterSuspendCount is != 0, which could be the reason callLaterDispatcher2 doesn't get called.

Should the latter be the case, i suspect, that you have tweens or something else calling UIComponent.suspendBackgroundProcessing but then not calling resumeBackgroundProcessing (because of an exception terminating the code before reaching the resumeBackgroundProcessing call e.g.)

해석좀


728x90

'Flex' 카테고리의 다른 글

Flex 이벤트 강제 발생 dispatchEvent  (0) 2012.07.29
Flex 메모리 문제  (0) 2012.07.29
Flex profiling  (0) 2012.07.29
데이터그리드 스크롤 버그  (0) 2012.07.29
Unable to resolve resource bundle error  (0) 2012.07.29

+ Recent posts