Flex :: Track Down Memory Leaks In The Application?
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
Similar Posts:
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
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
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
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
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
Mar 2, 2010
I have a container Canvas named "cnvList" which contains another component horizontal list "hlist". When i hover the mouse over "cnvList", it should display the current mouse position relative to the container cnvList. I have used cnvList.contentMouseX for this. But it should repeatedly track the mouse position repeatedly even when the mouse is not movedk. Can anyone suggest me with code how it can be done?
View 2 Replies
Mar 4, 2011
System.totalMemory gives the total memory used by the flash player and not one particular application. Is there any way I can get the flex application's memory usage in code/actionscript?
View 3 Replies
Mar 16, 2012
I have a Flex 4.6 web game which displays 2 Lists with virtual layouts with 2 custom item renderers. The renderers consist mainly of BitmapImages displaying user avatars + few Labels.
The Lists are being updated often over TCP socket with gzipped JSON data. I merge that data into 2 ArrayCollections serving as dataProviders for the Lists. This seems to work well, the Lists do not flicker and are updated correctly (I've monitored debug traces a lot to get it right).
[Code]...
View 1 Replies
Sep 7, 2010
How to find where is memory leak in a flex application?
Are there some tools to catch and analyze this problem?
View 2 Replies
Aug 17, 2010
I have a flash application which consist of Grid Components, Button, Label, and Combo-box Components. All these components are used more than 70 times(simultaneously) with in the application. So Its takes too much of memory. So How can I test the memory usage of each component at the time of running. Is there any plug-in available for browsers to find the memory usage. I'm using flash CS3 and ActionScript 3.0. The application suppose to run in browsers.
View 4 Replies
Jul 10, 2009
Iam trying to debug someone elses AS3 application that is showing a memory leak. The application is built with PureMVC.I have managed to locate the place where the memory leak seems to start. There is a button that causes the application to launch a slideshow. This draws a new graph every 8 seconds or so by creating a Timer. In the Timer handle function the code uses sendNotifaction() to set off series of events which basically boil down to getting information from a server and drawing a new graph.Now if I comment out the sendNotification() the memory leak stops, but if I leave the senNotification() in but comment out the code that subsribes to it the memory usage starts to build up.So my question is can simply firing off a sendNotification() every 8 secs in PureMVC cause a memory leak, even if not other code runs from this?
View 1 Replies
Mar 29, 2010
Couldn`t find any ActionScript native APIs even in the beta documentation, am I right supposing that this means the only way to measure CPU / memory consumption is by cooking up a custom native solution, hooking it up with AIR and making it work on each targeted platform?
Basically the aim is to be able to have this information available inside AIR and not having to use an external application for profiling, not even Flex / Flash builder.Seems for the CPU load the only solution will be some command line scraping using NativeProcess.
View 4 Replies
Aug 24, 2010
I wrote an application in flash AS3, and when I trace from flash the total memory usage of the total application is only about 9MB, But at the same time Task Manager Shows the memory usage as 110MB. Around 100MB difference.Flash Trace Method System.totalMemory difference of the Trace from the Beginning of the application to end of the application.
View 2 Replies
Jan 15, 2010
I am trying to create a simple Music player has play/pause button and an HSlider that shows the position of the song as it is playing using a custom SliderThumbClass. I would like allow the user to drag/drop the sliderthumb or click on the sliderbar to change the position of the song currently playing.
With the code I have below, if I use the sliderThumb to change the position of the currently playing song, it works great. But I if I click directly on the slidertrack to jump ahead/back, the current position doesnt move and there is some flashing of the current position, but it jumps back to where it was and continues playing the song. This does work if I am in the paused state.
As expected, thumbDrag/Press/Release events are not triggered when the user clicks on the sliderTrack - What events should I be subscribing for to handle this case?
<mx:Canvas>
<mx:Script>
<![CDATA[
[code]....
View 1 Replies
Apr 11, 2010
How can I make the slider track a bit thicker with CSS?
View 1 Replies
Apr 28, 2010
May I know what is the proper way to keep track of display objects created and hence allow me to remove it efficiently later, for garbage collection. For example:
for(i=0; i<100; i++){
var dobj = new myClass(); //a sprite
addChild(dobj);
[code]......
View 3 Replies
Nov 6, 2010
I want to upload data (not a local file) with Flex (4.1), and show what the progress is of the bytes sent. Now I use a URLLoader, but I know that URLLoader was designed to download data, I can connect a listener to ProgressEvent.PROGRESS but that has no effect. I also know there is a FileReference object which supports uploading. The problem here is, I do not want to browse for a file and upload it. I have a byte array which I want to send to the server, but the data property of FileReference is read-only. How can I send the byte array (which is actually a PNG encoded image) to the server and be able to track the progress of the bytes sent to server?
View 1 Replies
May 27, 2011
I currently have 6 different flex applications (widgets) that run on a main page.They all depend on one common library project.I am currently cleaning up the codebase quite dramatically and it is hard to keep overview this way especially since I inherited the codebase.Does anyone know a tool that can automatically inform me of any dead code?
View 1 Replies
Jan 31, 2012
I have a bit trouble with LoaderMax memory occupy, i have a queue, and i am keep loading images depend on user's action. if they click load more and it keep load, but i would like to clean the memory which been occupied by the previous queue (i have remove all the children been added by the loading previously). is there a way i can do it? the behavior like this.
[Code]...
View 1 Replies
Oct 8, 2010
I'm trying to develop a simple mxml Flex application to start Skype from the AIR/Flashplayer runtime. Is it possible to get back events from a native Windows application? In the simple example of Skype, the OS returns control to the Flex app when Skype exits. But what about native applications which have their own event model and wants to communicate with the Flex event model. For example, a Face detection system which shows "Hello" on a Flex app when the camera detects a face. Can this be done in the current Flex framework?
View 1 Replies
Mar 4, 2011
I am working on an Adobe AIR Application. The size on Application window is 800X600 and is contains border container and border container contains many controls. What I want is to if user re-sizes the application then that container should also be re-sized according to scale. i.e If user maximizes or minimizes the window then that border container should also be maximized or minimized respectively.
View 3 Replies
Aug 4, 2011
How I will be back in Login Page after click of logout which is in application's component.
Project.mxml
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"
[Code]....
View 2 Replies