Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: Flex arrays memory
When flex array collection is handled with large amount of data for example 2,00,000 new referenced objects the memory in flex client browser shoots up 20MB. This excess 20MB is independent of the variables defined in the object. An detailed example is illustrated below.
 

var list:ArrayCollection =  new  ArrayCollection;
	for(var i:int = 0;i<200000;i++)
	{
		var obj:Object = new Object;
		list.add(obj);
 
	}
On executing the above code there was 20MB increase in flex client browser memory. For a different scenario i tried adding an action script object into the array collection. The action script object is defined below.
 
	public class Sample
	{
		public var id:int;
		public var age:int;
		public Sample()
		{
		}
		
	}
 
On adding 200000 Sample class into a array collection there was still 20MB memory leak.
 
	var list:ArrayCollection =  new  ArrayCollection;
	for(var i:int = 0;i<200000;i++)
	{
		var obj:Sample = new Sample;
		obj.id= i;
		onj.age = 20;
		list.add(obj);
 
	}
 
I even tried adding 200000 Sample Objects into flex arrayList and array but the problem still persists. Can someone explain on where this excess memory is consumed by flex?
Posted 24-Feb-13 2:45am
Edited 24-Feb-13 3:01am
(no name)17.7K
v2
Comments
YvesDaoust at 19-Jun-13 8:47am
   
Where is the problem ? You allocate 200,000 objects each 100 bytes in size don't you ?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 195
1 ProgramFOX 130
2 Maciej Los 105
3 Sergey Alexandrovich Kryukov 105
4 Afzaal Ahmad Zeeshan 82
0 OriginalGriff 6,564
1 Sergey Alexandrovich Kryukov 6,048
2 DamithSL 5,228
3 Manas Bhardwaj 4,717
4 Maciej Los 4,150


Advertise | Privacy | Mobile
Web03 | 2.8.1411022.1 | Last Updated 24 Feb 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100