Baggrunden

Som du måske har hørt og læst, har mange reporteret om problemer med at unloade en .swf fra hukommelsen, hvis den f.eks. var blevet loaded ind som en child .swf i en større applikation. Noget der f.eks. kom til udtryk ved at EnterFrame events, Sound objekter, TimeLines osv. fortsatte med at afspille, efter at alle .swf'en referencer var slettet. I en perfekt verden ville alle brudte referencer betyde at .swf'en ville blive markeret som "ubenyttet" og skraldemændende (garbage collection) ville så, næste gang de kom forbi, tage .swf'en med til forbrændingen (fjerne den fra hukommelsen). Det sker desværre bare ikke. Hvilket kan give store problemer hvis et spil, der er modul opbygget fortsætter med at have moduler der lever efter de er "endt" for brugeren.

Debatten i den store verden

Debatten har kørt rundt omkring på nettet. En af de mest dybdegående diskussioner finder man som altid på Grant Skinners Blog, som også denne gang bød på en god dyb diskussion om emnet. - også Mads, lod ordet lyde, på "Om Flash". Over hele linjen meldte mange sig på banen med samme problem og oplevelser, når der var load og unload af .swf filer involveret.

Stemmerne blev hørt

I takt med at ASTRO, kodeordet for Flash Player 10, er blevet annonceret i en beta udgave, er der selvfølgelig blevet rejst spørgsmål ved om der i fremtiden tages hånd om problemet.
Lee Brimelow fra Adobe og The Flash Blog havde lejlighed til at snakke med Justin Everheart Church om emnet:
Se video herunder

Colin Moock har også været en aktiv debatør omkring emnet og har for nylig postet denne post med en liste over de ting der uofficielt foreslås for at komme af med indholdet i en loaded .swf.
Se listen her:
http://www.moock.org/blog/archives/000279.html

Senest er Grant Skinner nu på gaden igen, med en spændende blog post om emnet. Grant har været i kontakt med Werner Sharp fra Flash Player Teamet, og har nu spændende nyt at berette.
Blandt er diskussionen med Werner Sharp gået på, hvad der rent teknisk sker bag kulisserne når den nye unloadAndStop kaldes. Werner Sharp kommer med en række gode use cases for hvornår unloadAndStop virker effektivt, og hvornår unloadAndStop ikke vil have effekt.
Læs hele diskussionen her:
http://www.gskinner.com/blog/archives/2008/07/additional_info.html

Ansvaret er dit

Ud fra Werner Sharp's beskrivelser mener jeg at der, dermed også sagt at unloadAndStop IKKE er nogen Silver Bullit, der løser alle problemer vedrørende ressource og eksterne .swf filer. ActionScript 3 er et voksent programmerings sprog, der også kræver "voksne" udviklere. Med det mener jeg at det et rigtigt langt stykke af vejen er vores eget at rydde op efter os. - det forudsætter selvfølgelig at det rent faktisk er muligt at rydde ordentligt op. Noget det lader til at vi kan se frem til i den næste Flash Player