Yep, didn't notice you are using TileLayout. I'm pretty sure it doesn't virtualize
From: Chris Velevitch <chris.velevi...@gmail.com<mailto:chris.velevi...@gmail.com>> Reply-To: "flexcoders@yahoogroups.com<mailto:flexcoders@yahoogroups.com>" <flexcoders@yahoogroups.com<mailto:flexcoders@yahoogroups.com>> Date: Friday, February 14, 2014 2:26 AM To: "flexcoders@yahoogroups.com<mailto:flexcoders@yahoogroups.com>" <flexcoders@yahoogroups.com<mailto:flexcoders@yahoogroups.com>> Subject: Re: [flexcoders] Whay are too many itemrenderers being created? That makes no difference. I did notice that <VerticalLayout/> always virtualises regardless of whether useVirtualLayout is true or false. It looks like <TileLayout/> never virtualises, so I suspect it's a bug, but I haven't had a chance to look into how layouts work to confirm this. On Fri, Feb 14, 2014 at 5:37 PM, Alex Harui <aha...@adobe.com<mailto:aha...@adobe.com>> wrote: useVirtualLayout property? From: Chris Velevitch <chris.velevi...@gmail.com<mailto:chris.velevi...@gmail.com>> Reply-To: "flexcoders@yahoogroups.com<mailto:flexcoders@yahoogroups.com>" <flexcoders@yahoogroups.com<mailto:flexcoders@yahoogroups.com>> Date: Thursday, February 13, 2014 7:34 PM To: "flexcoders@yahoogroups.com<mailto:flexcoders@yahoogroups.com>" <flexcoders@yahoogroups.com<mailto:flexcoders@yahoogroups.com>> Subject: [flexcoders] Whay are too many itemrenderers being created? I'm using Flex 4.11 with Air 4.0 to create a mobile app. I have a spark list with a custom mxml itemRenderer. Only 4 instances will be visible in the list. The dataprovider is initially empty. When I assign the array collection with an array of 147 items, I get 147 traces on dataChange event and on the render event. I traced out the value of 'this' and I get 147 unique objects. I was under the impression that only 4 instances of the itemRenderer will be created and get reused as I scroll through the list. What have I overlooked? The list is defined as:- <s:List id="lImages" dataProvider="{imageList}" width="100%" height="100%" allowMultipleSelection="true" change="lImagesChange(event)" itemRenderer="PhotoThumbNail" doubleClickEnabled="true" doubleClick="showImage(event)"> <s:layout> <s:TileLayout/> </s:layout> </s:List> and the itemRenderer is defined as:- <?xml version="1.0"?> <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark<http://ns.adobe.com/flex/spark>" dataChange="onDataChange(event)" render="onRender(event)" width="150" height="175" > <s:layout> <s:VerticalLayout/> </s:layout> <fx:Script><![CDATA[ import DateUtils; import mx.events.FlexEvent; private function onDataChange(event:FlexEvent):void { trace(DateUtils.currentTime() + "PhotoThumbNail.onDataChange: dataChange event, index=" + itemIndex + ", this="+this); } private function onRender(event:Event):void { trace(DateUtils.currentTime() + "PhotoThumbNail.onRender; render event, index=" + itemIndex + ", this="+this); } ]]></fx:Script> <s:BitmapImage source="{data.image}" width="150" height="150"/> <s:Label text="{data.timestamp}" width="150"/> </s:ItemRenderer> -- Chris -- Chris Velevitch Manager - Adobe Platform Users Group, Sydney m: 0415 469 095 www.apugs.org.au<http://www.apugs.org.au> Adobe Platform Users Group, Sydney Topic: TBD Date: Monday, 28th February Details and RSVP on http://www.meetup.com/Sydney-Adobe-Platform-User-Group -- Chris -- Chris Velevitch Manager - Adobe Platform Users Group, Sydney m: 0415 469 095 www.apugs.org.au<http://www.apugs.org.au> Adobe Platform Users Group, Sydney Topic: TBD Date: Monday, 28th February Details and RSVP on http://www.meetup.com/Sydney-Adobe-Platform-User-Group