Uploaded image for project: 'Apache Flex'
  1. Apache Flex
  2. FLEX-27108

[flex_next]Provide fine-grained control over renderer recycling in DataGroups

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Later
    • Adobe Flex SDK 4.1 (Release)
    • None
    • Spark: DataGroup
    • None
    • Language Found: English

    Description

      The current routine for determing which item renderers can be recylced is inefficient, and can lead to up to twice as many renderers created as required.

      ie:
      Consider a list whose dataProvider contains 100 items,
      It's viewport is large enough to render 10 item renderers
      It is using virtual layout.

      When the list starts up, items 0..9 are rendered onscreen.
      If the user scrolls quickly so that items 20..29 are rendererd, there is still a total of 10 renderers visible.
      However, renderers 0..9 were not moved onto the freeRenderers list until after renderers 20..29 have been renderered, therefore meaning another 10 renderers had to be instantiated and added to stage.

      While I understand that this is an edge case, it causes problems when trying to build high performance lists with complex item renderers.

      It would be great if the DataGroup class exposed a method that forced marking all renderers (or specific indexes) as eligible for recycling. It would be up to developers to call this method if required, and generally only used in these advanced scenarios.

      Alternatively, please relax the scope of freeRenderers to mx_internal, to allow manual control.

      Attachments

        Activity

          People

            adobejira Adobe JIRA
            adobejira Adobe JIRA
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: