zantafio
zantafio

Reputation: 747

Do I Have a Memory Leak / Garbage Collection Bug?

I'm building an Air application, which, due to the workflow of the animators, needs to load a lot of external swf files.

I load them all via FileStream / Loader Objects at the boot process and then store them in an object for further use.

The instant they get loaded, I use a gotoAndStop(1) command to make them stop looping (the original files have no scripts whatsoever).

After the load process I can see the system memory go slowly but consistently up. When I manually invoke Garbage Collection with the System.gc() command, the memory gets cleared again.

If I let the application run for hours it seems the Garbage Collector does not run.

Any ideas what the problem might be? Or should I just forget about it and just occasionally run System.gc() manually?

Thanks a lot!

Upvotes: 1

Views: 344

Answers (1)

Alfie
Alfie

Reputation: 2350

The Garbage Collector will only run when it needs to, so it is entierly possible that it would go a very long time before running (especially if you have a lot of RAM available).

The important thing is the memory is cleared when it is run. This tells me that you don't have a leak, as it can be cleared up.

Also, how are you measuring the system memory? If you are doing it through Task Manager those numbers aren't really to be relied upon.

I recommend Process Explorer . Monitor the 'Private Bytes' column instead.

Upvotes: 2

Related Questions