ActionScript 3.0 :: Loading / Unloading External SWF - Prevent Memory Leaks
Sep 19, 2011
Im creating a flash projector which has a holder swf with an empty movieclip. A series of external SWFs are loaded into the empty movieclip on the push of a button. Once the clip has been loaded, other external SWFs can be replaced in the empty movieclip at the push of a button. As memory leaks and garbage collection seem to be an issue, I was wondering the most memory efficient way of loading, unloading and replacing these external swfs so that memory leaks are kept to an absolute minimum.
View 1 Replies
Similar Posts:
Nov 15, 2011
I load image from url like this
Code:
imageholder = this.attachMovie("imageholder", "image", this.getNextHighestDepth());
imageholder.swapDepths(selectMenu);
loader.loadClip(uri, imageholder.bigImage_mc);
this== root, imageholder is MC that contains empty MC named bigImage_mc, selectMenu needs to be in front of loaded image (2nd line) and loader is MovieClipLoader()
Image is unloaded and removed like this
Code:
loader.unloadClip(imageholder.bigImage_mc);
imageholder.swapDepths(selectMenu);
removeMovieClip(imageholder);
but when I unload image it doesn't free any memory, and when i load new image it increase memory usage...
I even tried
Code:
System.gc();
System.gc();
after removeMovieClip(); as I found this on some website... but with no improvement
View 3 Replies
Dec 8, 2009
I have a problem in that i have a holder swf which loads in other swf's externally. My problem is that the holder loads all the movies in correctly but the memory usage of the swf just keeps going up and up even though i am trying to remove the movieclip after each has finished it's run.
[Code]..
View 0 Replies
Feb 5, 2011
My Problem: I simply want to load a swf in a swf and then unload it. When I do this it works and cleans out "some" memory but after I unload the swf the memory usage grows a little each time. Shouldn't I be able to have this so the memory hits a limit and doesn't keep growing forever?
What I tried: I put in System.gc() for debugging to force garbage clean up, and I am testing it in the debugger in the browser.There are 2 static images in the swf that is loaded and unloaded. I feel like those images are staying in memory maybe? I am assuming that the "unloadAndStop()" should handle that though.I put an enterframe listener which I remove along with the unload button.
My Code: The code is below, my files are larger than the upload limit here, but you can download all the files from this link: http:[url]....
Main swf to load into:
Code:
var _swfLoader:Loader;
var _swfContent:MovieClip;[code]............
View 4 Replies
Dec 7, 2009
The idea is very simple: I have a submain.swf with 5 buttons. Each button loads an external .swf loader.load(URLRequest);After playing first external swf, before I go to next one, I try to unload it1. remove all its associated listeners:com_loader.contentLoaderInfo.removeEventListener(Event.INIT-PROGRESS-C OMPLETE, idFunction);2. unload it:
View 3 Replies
Feb 23, 2007
I have an AS3 application which seems to be leaking memory slowly while running. I've been looking for a profiler for Flex 2 / AS3 and haven't been able to find one yet, in fact I saw posts from people at Adobe saying they were working on it but no release in the short term!
Does anyone have any more news on this, or more usefully have any information on a profiler or other way it is possible to find memory allocation and usage during runtime of an AS3 application? It would really help me to identify what areas of my application are leaking memory.
View 4 Replies
Jul 20, 2009
I have an AIR/Flex app I made, I have a few people testing it and everyone is reporting that after leaving it running for a while, it is making all there machines run very slow. It runs fine at first so this must be a memory leak somewhere. I used the profiler on this and the only thing that shows as using a substantial amount of memory is MethodQueueElement which is not a class I wrote, and I have no idea what it does, I am assuming its part of the Flex framework. I am not familiar with using a profiler so I am not sure what all I shuld be looking at, that was the only class that was high on "memory" and it said it had over 100,000 instances. If this is my problem what can I do to fix it?
View 1 Replies
Feb 11, 2010
How do you know if your compiled SWF file has a memory leak?
Are there tools, a firebug setting, etc... to see if there is a problem? I cannot find much in the debug Flash player besides file size and loading time.
I have a large Flash application that I maintain and suspect that is using way too much memory so I wanted to measure the amount of RAM being used while it executes to find key areas to optimize.
View 3 Replies
Feb 14, 2011
I've been trying to track down memory leaks in our application, and keep finding myself back looking at Spark components as the culprit.
Many classes in Spark use RichEditableText for displaying their text properties (ComboBox,TextInput).RichEditableText has a local textContainerManager property, and frequently calls compose() on this.Here's the relevant abridged extract from TextContainerManager
// Line 282 - 292:
static private var stringFactoryDictionary:Dictionary = new Dictionary(true);
static private function inputManagerStringFactory(config:IConfiguration):StringTextLineFactory
{
[code]...
Line 1242 is the crucial line here, as it gives the static dictionary a reference to our component.(Note - I've checked this with the debugger to confirm which branch of the ternary gets executed.) This would prevent the instance from ever being garbage collected.
Eg: Static dictionary has a value with a reference to the instance -- instance cannot be GC'd.In turn, this would prevent any other instances which have a reference to the instance of TextContainerManager from being GC'd also.While this theory certainly matches what I'm seeing in our app, I can't beleive that there really is a memory leak in such a low-level spark component.
View 1 Replies
Mar 23, 2012
I also found this topic but it doesn't fix my problem other topicI have a module loader that load other swc's but when I look at the memory off the application it seems that each time a module gets loaded the previous module doesn't get unloaded and so the memory increases..
This is how I load the modules:
<module:ModuleViewLoader id="moduleViewLoader" moduleManager="{presenter.deviceModuleManager}"
[code].....
View 1 Replies
Oct 13, 2010
Memory leaks eventlisteners and new sounds. I have written up a media player code, which does what it is supposed to do, but the System.totalMemory steadily increases with time.My code essentially consists of nested calls using EvenListeners that trigger initiation of new sounds. I call up mp3 files that load and start play and on EventCOMPLETE load the next file Example of code snippet:
ActionScript Code:
function LoadNextTheme(e:Event = null):void // set next theme
{
if (A_play) {
[code]....
What parts of this kind of code keeps adding to total system memory?And how can I best stop that leak?
View 1 Replies
Dec 23, 2010
I developed a game in AS2, and got a decent sponsorship deal, but I had to convert it to AS3 for them. I've been working my way through and it's pretty much done, but I've found I'm getting big memory leaks. I'm not sure if they were there in the AS2 version, but I need to clear them out in either case. I couldnt get the flex/flash builder 4 profiler to work, but I did manage to get this profiler working: (ok I can't post links, but put flashpreloadprofiler into google and you'll find it)
It does seem useful for working out where all the memory is being allocated. It lists "String" as a large contributing factor, and I've narrowed half of that down to this one simple function, and I can't understand why it would cause memory leaks. I wrote a function to check if a movieclip exists on stage, in order to then do things like hittest against it without errors if it doesn't exist. Here's the function:
[Code]...
View 3 Replies
Oct 13, 2010
Memory leaks eventlisteners and new sounds.I have written up a media player code, which does what it is supposed to do, but the System.totalMemory steadily increases with time.My code essentially consists of nested calls using EvenListeners that trigger initiation of new sounds. I call up mp3 files that load and start play and on EventCOMPLETE load the next file.[code]What parts of this kind of code keeps adding to total systemmemory?
View 3 Replies
Feb 9, 2010
What's necessary to do when removing an object to make sure there are no memory leaks? Do you have to remove all children? Or just remove all event listeners? Or both?
View 1 Replies
Mar 11, 2009
I wonder what the most common reasons for memory leaks in AS3 are.First thing what I am not sure about is: is it better to have a variable reference inside a function or outside it. Will the variable be null-d automaticly inside a function or when do I have to null it and when not?I have massive problems with my game with memory leaks. I noticed I reference some of the clips of the timeline even inside my debugging clip to display propertys and this was causing collecting huge amount of memory.But even before I go into the game with bigger objects the System.memory is slowly growing and growing.I just have a socket connection and some interval loops and enter_frame events.
View 5 Replies
Feb 23, 2011
I spent almost a week trying to figure out how to unload a currently loaded swf using its button and loading a new swf... I have three files, a main.fla, file1.fla and file2.fla. In my main.fla, I have a code which loads the other two files. If i will click the "unload" button in the file1.swf, I would like the main.fla to unload the file1.swf and load the other file, file2.swf. Here is the code to load the file1.swf:
[Code]....
View 1 Replies
Nov 2, 2010
I used to do this fine with AS2 and now i'm struggling to get it to work in AS3.my code is as follows:
PW1.addEventListener( MouseEvent.CLICK,loader1 );
//==================== PS function =============================================
var ldr:Loader = new Loader();
[code].....
View 3 Replies
Apr 1, 2010
I'm trying to load an external swf and unload it after its completion. I have tried a few things and am stuck. Here is my current code to loading the swf, which seems to be working fine, its the unload I cant get:
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
function startLoad() {
[Code] .....
View 3 Replies
Nov 29, 2010
I have a external swf that has an embedded video that loads automatically. Once it loads I have a button that unloads it and reloads. The first time I unload it, it works fine. The second time the video unloads but the sound continues? This happens each time I load and unload; the sound continues to loop.
stage.scaleMode = "noScale";
var loader:Loader = new Loader();
var defaultSWF:URLRequest = new URLRequest("swfs1/ME_video1a1.swf");
[Code]....
View 4 Replies
Nov 13, 2008
I am slowly learning AS3 but have hit a bit of a brick wall though I am sure it is something that many will see as easily resolvable, just my lack of knowledge and understanding of AS3 at this moment.
My query is I am trying to create a SWF which loads in (3) external SWF's using three movieclips I have within the main SWF. I have managed to get the external SWF's (1.swf, 2.swf, 3.swf) to load in when each of the movieclips / AS3 buttons have been clicked but I cannot figure out how to unload the current selected SWF file (e.g. have initially click on btnOne which displays 1.swf yet when click on btnThree to display 3.swf, 1.swf has not been removed from the stage and overlaps 3.swf) when I want to load another SWF file (sorry if this does not make sense). Below is the test code I have tried:
Code: Select all/////////////////////
///////Loaders///////
/////////////////////
//One
[code]....
My question is how do I unload (or removeChild I guess) the current SWF from the stage when I click on another movieclip / AS3 button to load another external SWF without the mish-mash as can be seen in the uploaded test files?
View 14 Replies
Aug 4, 2004
I am Using Flash MX ActionScript.
Anyways i have a series of buttons, and I would like them to each load a external SWF file into a movieclip. I have accomplished this so far but, I would like it so that whenever I click a button it unloads any already loaded SWF file that is already there. This is what I Have So far
on (release) {
loadMovie("movie.swf", this.movieholder);
}
View 3 Replies
Dec 8, 2008
I am loading an external swf file into my main swf movie with a button. But I donot know how to unload it. Here are the scripts.
on (release) {loadMovie("Main content.swf","Main1");
}
Main1 = the holder on the stage
View 2 Replies
Sep 20, 2009
I am studying AS3 by myself, It's all about loading and unloading external swf's. My code is working perfectly though I just have some questions about load and unload issues. I have three buttons on the stage and it should load its external SWF
[Code]...
Each of the button should load it's external SWF's intro when click. My problem is that I don't know how to command the button to play the swf's outro and then load the next swf everytime I click a button Example: When I click homeButton_btn, the external swf should load "home.swf" and then if I am going to click page1Button_btn, the outro of "home.swf' should play and then once it reaches the end of it's timeline, it should load "page1.swf". Same goes with page2Button_btn, whatever swf that is on the stage should play it's outro first and then load "page2.swf" My questions are:
1. How can I control the external SWF to play it's outro and then load the next SWF.
2. What code should I put at the end of the external SWF's timeline.
3. Where do you think I should put the preloader? Is it better to put it at the external swf timeline? or on my main swf timeline?
4. Does load and unload of external swf also work with movieclips? Like for example I will not use a external swfs, instead I will use movieclips to load and unload its content.My Actionscript 3.0 code
[Code]...
View 1 Replies
Aug 4, 2004
I have a question, I'm new so i dont know much ^_^ I am Using Flash MX ActionScript. Anyways i have a series of buttons, and I would like them to each load a external SWF file into a movieclip. I have accomplished this so far but, I would like it so that whenever I click a button it unloads any already loaded SWF file that is already there.
This is what I Have So far
[Code]....
View 3 Replies
May 29, 2009
I have a question regarding the swapping out of swf files in Flash CS3 / AS3.I start my project with a �logo� swf, which has no interactivity.At the last frame, the following code is used to load another swf from the local folder:
-------------------------------------------
//Stop current swf and stop its sound
stop();
SoundMixer.stopAll();
[code]...
How do I remove and/or unload the previous swf when a new one is loaded? and remove that previous swf from memory? Can I give the current swf access to the previous one, then run a �remove� or �unload� function on it?
View 3 Replies
Feb 17, 2011
After years of putting it off, I've finally begun the move to AS3.The frustration I've encountered is evidently shared by a lot of other designer/developers. Knowing that the future is inevitable, I have bitten the bullet and forged ahead. There has been one thing, however, that has just been a real quandry and has cost me hours of banging my head against the wall.That would be getting an externally loaded swf to (really) unload in an AS3 file.Before I even begin to post code, let me just say that I've tried a lot of things read in books, posts from this and other forums, and trial and error to no real avail. In my research I've come across many others who are experiencing the same problem and even one reference that suggests you not use AS3.For a project that uses multiple loads and unloads that's due in a month, should I just go with AS2?I'm using CS4 on a PC publishing to Flash player 10. And yes I have tried "unloadAndStop()" and "removeChild()".
View 8 Replies
Jun 19, 2009
From my main file I'm loading an external swf file. This file overlaps the original file so I began looking for a way to unload the original file. I've not been too successful. Right now, I've created a background layer which allows the loaded file to cover the original file without bleed through. I'd rather have the original file unload before the newly called file is loaded.
Here's the code I've found so far:
//Declare Variablesvar Xpos = 0;
var Ypos = 0;
var loader:Loader = new Loader();
var swfFileToLoad:URLRequest = new URLRequest("holdHumans.swf");
//Go to CreationremoveChild(loader);
loader.load(swfFileToLoad);
loader.x = Xpos;
loader.y = Ypos;addChild(loader);
This code is normally associated with a button event but I have to be able to use it from within a timer function in the original file. When the function is called, I get this message:
Error #2025: The supplied DisplayObject must be a child of the caller.
I get this message too when I try using it from the externally loaded swf file.
View 20 Replies
Jun 30, 2010
I have 7 buttons on my main page, on the left side of the screen. I want the buttons to load the external swf on the right, and then unload when a different button is pressed. Do I need to make an array? Do I need an empty movie clip to load each swf into?
[Code]...
View 20 Replies
Sep 13, 2011
I'm trying to create a pretty simple site using a couple of different external swfs loaded into a main swf.
At the moment, in the timeline, I have the following code in frame 1 on the actions layer:
import flash.events.MouseEvent;
stop();
navbutt.addEventListener(MouseEvent.CLICK, shownavbg);function shownavbg (myEvent:MouseEvent):void { gotoAndPlay (10);}home_btn.addEventListener(MouseEvent.CLICK, showhome);function showhome (myEvent:MouseEvent):void { gotoAndPlay
[code]....
At the moment, the Main.swf loads perfectly and works fine. But when I click the gallery button, it jumps to frame 76, and plays the Main.swf. It doesn't load the ZenGalleryDemo.swf file.....
View 1 Replies
Jul 10, 2010
I am trying to load external swf files for each page of my website. I load the home right off the bat, then when I click on a different page, the content only loads on top of the previous loaded swf without getting rid of the previous page. I could be doing it wrong, but I use unload and removeChild before reloading the new page in the button function and it still stays on the stage.I could go back into my external swf files and add a white background underneath the content in order to mask out the swf that stays behind. But even if I do that it still would be loading multiple copies of each swf gradually slowing the whole site down.
View 1 Replies