Juan Pablo Califano wrote: > The mere fact that the > memory footprint grows doesn't mean there's a leak.
Juan Pablo is correct, and it's important to understand why. (If you already understand garbage collection, you need read no further, unless you want to check the accuracy of my description :-) As you create objects, or even variables, the Flash player allocates memory--this is common to most runtime engines/virtual machines, including Shockwave, C#, Java, Visual Basic (I think), and all the way back to UCSD Pascal. When you delete an object, or a variable goes out of scope, that memory is no longer needed, and the Flash player notes that it is available for re-use. It does not, however, immediately re-use the memory--in fact, it probably doesn't even zero it out right away. The data are still there, but the memory is marked as available. These memory blocks are often not contiguous--your memory looks something like a fragmented hard disk. You have a few bytes here, a couple K bytes there. When the Flash player's memory gets too fragmented, it does a "garbage collection". That is, it moves currently-valid objects and variables around to make everything contiguous (un-fragmented) again. It's much like defragmenting your hard drive, except it is done in RAM (or virtual RAM). The browser is probably doing the same thing. If the user has navigated away from your Flash page, it doesn't necessarily free that memory immediately. In fact, it probably won't, so you can still navigate forwards and backwards. It's sort of like deleting a file on your disk used to be. I think it's handled differently now, but in the bad old days, the OS would simply write a special character into the first byte of the file. There were utilities we used to recover accidentally deleted files--we could explore the disk, find the data, change the first byte back to what it was supposed to be, and the file was restored. (That's somewhat simplified, but it's the right concept). HTH. Cordially, Kerry Thompson _______________________________________________ Flashcoders mailing list [email protected] http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

