​They should all virtualize, but it takes a bit of effort to make a virtual 
TileLayout and we don't hear enough requests for it to get around to doing it.


-Alex

________________________________
From: flexcoders@yahoogroups.com <flexcoders@yahoogroups.com> on behalf of 
Chris Velevitch <chris.velevi...@gmail.com>
Sent: Friday, February 14, 2014 5:35 PM
To: flexcoders@yahoogroups.com
Subject: Re: [flexcoders] Whay are too many itemrenderers being created?



Why shouldn't all lists virtualise? If the dataProvider of a list has a large 
or very large number of items, doesn't it make sense to only create enough 
itemRenderers for the visible area?


On Sat, Feb 15, 2014 at 9:30 AM, Alex Harui 
<aha...@adobe.com<mailto:aha...@adobe.com>> wrote:


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





--


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


Reply via email to