Skip navigation
Currently Being Moderated

Flex Mobile: Improve List Itemrenderer recycling performance

Dec 2, 2011 8:18 PM

Tags: #performance #itemrenderer #recycling

I am displaying a full screen image list i.e. full image is displayed and user can swap left or right for new images. I noticed that once the user swipes the next image takes a second or so to show up.

 

If I set useVirtualLayout = false, the images show up immediately on swipe, like they are preloaded. However it takes an enormous amount of time to load initiallly.

 

On reading a bit about this virtual layout concept, I figured out that this is due to recycling of itemrenderers that takes place by default (useVirtualLayout = true).

 

So my question is, is there anyway the performance of the recycling can be improved so it shows up the images immediately i.e. while swiping. I thought flex creates 2 more itemrenderers than what is visible on the screen, which in my case should be 3. So ideally the next image should show up immediately. Doesn't look like that is the case though.

 
Replies
  • Currently Being Moderated
    Dec 2, 2011 8:40 PM   in reply to VivD

    Use a contentCache and implement some pre-fetch algorithm.

     
    |
    Mark as:
  • Currently Being Moderated
    Nov 19, 2012 3:49 AM   in reply to VivD

    have u found the answer,i met the same problem

     
    |
    Mark as:
  • Currently Being Moderated
    Nov 21, 2012 1:35 PM   in reply to heartgoon

    "I meant all the URLs to the images are present in the dataprovider set for the list"

     

    That does not mean that images are actually loaded. They still need to load. So unless you load them/pre-fetch in advance they will still take time to load.

    Not sure how yor application is built, don't know how you get url's and when....

     

    C

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points