All of the issues listed are fixed in Hotfix 2.  Please upgrade to that
hotfix.

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of esaltelli
Sent: Tuesday, October 30, 2007 9:23 AM
To: [email protected]
Subject: [flexcoders] Memory Leak Queries

 

Somewhat of a long post, but bear with me.

I've run into some abnormal memory usage that is very hard to explain;
wondering if anyone has suggestions...Here's my
observations/comments/questions

Thanks to the whoever it was that (finally) decided that Flex 3 should
have a profiler! The profiler--while it has it shortcomings--has
guided me to look in areas that I would not of otherwise investigated.

Observations/Insights/Rants:
1) ViewStacks (depending on usage) leak memory. The 'firstTime'
variable used to register with the systemManager pins the reference
keeping the instance from being gc'ed. This can only be fixed by
creating your own copy of a ViewStack. I can understand the logic as
to why this was done, but please for Flex 3 just make the 'firstTime'
(or some other prop) a public one!

2) Using the default properties for TabNavigator harbors a hard ref,
keeping it from being gc'ed; sure you need history management? Set
historyManagementEnabled to false to rectify this!

3) Accordians suffer the same fate as TabNavigator in #2.

4) Haven't gone down the path for searching yet, but assuming any
container that attempts to perform any history management suffers from
#2 & #3....

Questions:

Has anyone run across other non-obvious instances that can cause
memory leaks? As I dig deeper it looks like there are issues with
flash.* classes. In any case, suggestions/insights much appreciated!

TIA,

Eduardo

<background>
While using the Flex 3 Profiler in combination with a process manager
(to monitor OS mem usage) I have observed an increasing usage of
memory. There are occasions where the reported OS memory drops,
but--for the most part--constantly increases.

>From what I can observe, the memory used by the Flash runtime is much
more than what is used by the Flex/AS classes. For example when I
create a component with ~500 objects, the profiler reports an increase
of ~4MB; while the OS reports an increase of ~25MB. When I remove the
component from the display the profiler reporting indicates that the
most of the memory is returned. However the player rarely returns
more than 25% of the acquired memory.
</background>

 

Reply via email to