* A container can hold any number of children.
* However, each child requires an instance of an item renderer.
* If the container has many children, you might notice performance degradation
* as you add more children to the container.
* Instead of creating an item renderer for each child,
* you can configure the container to use a virtual layout.
* With virtual layout, the container reuses item renderers so that it only creates
* item renderers for the currently visible children of the container.
* As a child is moved off the screen, possible by scrolling the container,
* a new child being scrolled onto the screen can reuse its item renderer.
* To configure a container to use virtual layout, set the useVirtualLayout property
* to true for the layout associated with the container.
* Only the DataGroup or SkinnableDataContainer with the VerticalLayout,
* HorizontalLayout, and TileLayout supports virtual layout.
* Layout subclasses that do not support virtualization must prevent changing
* this property.
* Note: The BasicLayout class throws a run-time error if you set
* useVirtualLayout to true.
* When true, layouts that support virtualization must use
* the target.getVirtualElementAt() method,
* rather than getElementAt(), and must only get the
* elements they anticipate will be visible given the value of getScrollRect().
* When true, the layout class must be able to compute
* the indices of the layout elements that overlap the scrollRect in its
* updateDisplayList() method based exclusively on cached information, not
* by getting layout elements and examining their bounds.
* Typically virtual layouts update their cached information
* in the updateDisplayList() method,
* based on the sizes and locations computed for the elements in view.
* Similarly, in the measure() method, virtual layouts should update the target's
* measured size properties based on the typicalLayoutElement and other
* cached layout information, not by measuring elements.
* Containers cooperate with layouts that have useVirtualLayout = true by
* recycling item renderers that were previously constructed, but are no longer in use.
* An item is considered to be no longer in use if its index is not
* within the range of getVirtualElementAt() indices requested during
* the container's most recent updateDisplayList() invocation.
* @default false
* @see #getScrollRect
* @see #typicalLayoutElement
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4