Esta particularidad de Flex es bastante útil desde mi punto de vista por dos puntos principalmente.
- Para ahorrar memoria.
- Para mejorar el comportamiento al a vista del usuario.
- Deferred: Que hace que el objeto se cree cuando es instaciado. Valor por defecto
- Inmediate: Que hace que el objeto se cree al inciar la aplicación.
El comportamiento deferred es el que está puesto por defecto ya que si fuera al contrario y todos los componentes cargaran en nuestra aplicación esta podría consumir mucha memoria y perder rendimiento.
Los que tienen el valor deferred se crean cuando el objeto es instanciado es decir cuando aparece en pantalla y el objeto tes visible.
Pero en ciertos casos necesitamos que este objeto aunque no se vea en pantalla necesitamos que se cree para que por ejemplo se carguen en él unos datos recuperados de base de datos o que al cargase se ejecute algún evento que necesitemos que ocurra.
En estos casos lo mejor es poner el campo itemCreationPolicy="immediate" para que aunque no sea visible se comporte como si lo fuera y se cree al cargase la pantalla.
Todos los componentes de flex tienen esta propiedad itemCreationPolicy y puede aplicase cuando se crea necesario:
<s:Button id="newButtonImmediate" includeIn="Immediate" itemCreationPolicy="immediate"/>
Referencias:
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf63611-7ffa.html