ActionScript 3.0 :: Memory Leaks - Variable Reference Inside A Function Or Outside It?
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
Similar Posts:
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
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
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
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
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
May 12, 2009
I was thinking about how to streamline my code the other day and looked through my classes checking for possible memory leaks. I wonder when are variables declared inside of methods clear for garbage collection? or are they not and just hang around? For instance if I have a class like this:
[Code]...
Since the variable was declared without reference into the class how long does it stay in Flash's memory, or does it stay indefinitely because it cannot be nullified?
View 3 Replies
Dec 23, 2010
1- Variable Scope : Accessibility and existence are used almost interchangeably in various documents I've read. I'd like to know if a local variable physically exists (in memory) outside of the function it was declared in, and is not accessible from other methods, or if its existence ceases outside the function.
2- Classes : When do you create an instance of a class versus importing it only, specifically in the case of classes used only as say, calculators ?
View 10 Replies
Mar 23, 2011
i'm referencing variable names and object names dynamically such as:[code]i have 5 balls (insert joke here) which get all the same functions etc so i wanted a way to avoid making 5x functions to handle each one of the balls. Now one function can handle all 5, etc.what i can't figure out is how to use this same set up to reference a variable or object name inside another movieclip. if i have another movieclip named "myParent" for example, i thought i could refer to it with:[code]but this doesn't work.
View 5 Replies
Mar 2, 2010
Is there a way to reference a function via a variable? In other words, instead of saying something like:
var theVar = someString + 'function';
if (theVar == 'functionName') functionName ();
to access it directly:
(someString + 'function') ();
using some kind of bracket notation?
View 1 Replies
Jan 5, 2012
This is my code in Flash/AS3, in a frame's action:
import flash.events.Event;
stop();
this.addEventListener(Event.ENTER_FRAME, loading);
function loading(e:Event):void{
[Code]....
This is because I believe it is referring the splashTimer1 function by "this".
How can I refer to parent frame there, so that I can remove its event listener.
View 2 Replies
Apr 9, 2010
i have a function that read a variable from a text file, yet i can only read the variable from within the function. How could i create a global variable or such that i can then read from outside of the function.
Code:
var Make:LoadVars = new LoadVars();
Make.onLoad = function() {
VARIABLE = Make.textVariable;
[Code].....
View 1 Replies
Jun 17, 2011
I've been programming some stuff in Actionscript (haXe) and arrived this very specific problem. Here's the code (pseudo :S):
[Code]...
View 2 Replies
Sep 16, 2009
I need to pass a variable to a function inside a function. However this parameter (i) seems not to be passed (to function ...onRollOver). This is required to attach a textfield to a movieclip (reading the adress and showing it as a tooltip).
ActionScript Code:
for (i=0; i<array_BE_ElecCities.length; i++) {
var attachElecCity = mc_map.mc_places.attachMovie("Plant",
[code].....
View 1 Replies
May 5, 2011
I want to create a vector, then call a function that populates that vector with arrays. Fine. The only catch is the function itself will declare new array variables to put into the vector, but are these new array variables private to the function only?e.g. something like this
ActionScript Code:
public var vec:Vector.<Array> = new Vector.<Array>();
private function populateVec():void {
[code]....
Is this "kosher"? a was declared in the private function but added to something outside the function..?
View 4 Replies
Sep 18, 2009
I'm wondering how I can create a reference to a function/variable by using strings. Sorry if I'm not explaining the problem well, but let me show you what I mean in an example:You can create a reference to a class using strings by using the getDefinitionByName as follows:var classRef:Class = getDefinitionByName("myClass") as Class;var myClass1:classRef = new classRef();Similarly, how do you refer to functions and variables? The reason why I want to know is because I'm trying to implement a function which takes in the event handler name as the parameter, and what the function essentially does is that it adds an event listener with the associated handler (based on the parameter) to an object, something like this:
public function addListener(handler:String):void {
mc.addEventListener(Event.ENTER_FRAME, "on" + handler);
}
[code].....
View 3 Replies
Apr 20, 2009
I'm trying to reference a dynamic variable for PayPal but can't seem to find the right function for it. Here's an example:
Code:
_global.paypalObj = new Object();
paypalObj.item_name_1 = 'Book';
[code]....
View 1 Replies
Jun 2, 2011
I have some buttons in the scene (inside the .fla) that change a variable "counter" after being clicked. In a separate class there is a function "showPage" that loads a xml-file according to the value of the variable "counter". My problem is, that I dont get the variable "counter" from the fla-file into the function of the .as-class.
Here is my code:
Inside mcMain.as
Code:
class mcMain extends MovieClip
{
//public var counter:Number = 1; //Das hier soll durch den Button getan werden :(
[code]....
View 1 Replies
Feb 29, 2012
How to get variable value from inside event function. Variable was declared outside event function.
var StringVar="sample";
myButton.addEventListener(MouseEvent.CLICK, myClickReaction);
function myClickReaction (e:MouseEvent):void{
StringVar="other sample";
} trace(StringVar); /*
It gives me "sample" value and I would get "other sample" value */. That strange because if that would be normal function trace would give me good result.
var StringVar="sample";
function myClickReaction():void{
StringVar="other sample";
} myClickReaction();
trace(StringVar); /* it gives me result as I wanted to have - "other sample" value */
I know also method of passing arguments into event fuction but it not works for me as I would like to
var StringVar="sample";
myButton.addEventListener(MouseEvent.CLICK, function(e:MouseEvent){ myClickReaction(e, StringVar) },false, 0, true);
function myClickReaction (e:MouseEvent, StrVar:String):void{
StrVar="other sample";
} trace(StringVar); /* it also gives me "sample" value and I would get "other sample" value */
How to do that correctly?
View 11 Replies
Sep 25, 2011
I'm trying to pass a variable through a function, but I'm getting it's value 0. Here's my code:
thumbLoader.addEventListener(MouseEvent.CLICK, goToCategory);
function goToCategory(e:MouseEvent) {
trace(c);[code]....
this trace gives me value of 0. Normally I would do goToCategory(c) and inside that category I would get it's value, but in this case I'm calling this function with an event, how can that be done?
var c is declared globally, so I'm using it above this code in different place... is there smth like global $c like in PHP.. or there's some other way to do it?!
View 2 Replies
Dec 8, 2009
i am trying to access a variable from inside a function like this:
ActionScript Code:
var X:Number=1;
function hello(event:event){
trace(X)
}
or something like that... does anyone know why i don't get "1" in the output panel when i run the code?
View 3 Replies
Jan 9, 2010
I have a code, it is below. And i have two vars: coordx and coordy they both are 0 but when up button is pressed, coordx should change into 1 x remain 0 just like map scrolling and if pressed down it should return to default position, but instead of that variables keeps reseting and it starts from beggining. Here is the code:
ActionScript Code:
var coordx:Number = 0;
var coordy:Number = 0;[code].......
View 3 Replies
Oct 19, 2010
How can you change a variabele in as3 that you have declared OUTSIDE a function and change it inside the function.My function seems not be able to change the variabele?
ActionScript Code:
function Filter2switch(event:MouseEvent) {
if(filter2 == false){
[code]......
View 1 Replies