The runtime of Active UI Elements is different from other UI elements: Active UI elements can take a very long time to be instantiated on the client. For example, with a FlashIsland a Flash Player has to be created, and the Flash file loaded and initialized. Active UI elements can have a client-side state as well, which may be lost when the element is closed.
For this reason, and unlike other UI elements, active UI elements are kept alive for a specified period of time on the client; they cannot be rebuilt with every user interaction.
The new property lifeTime controls the life time of an active UI element. It enables application developers to directly control the life cycle of active UI elements during runtime and design time.
The lifeTime property can have one of the following two values:
Default value and behavior of elements without the lifeTime property.
The active UI element is initialized when it becomes visible. It is closed if it is no longer visible on the screen. If it is initally invisible and then becomes visible, it is reinitialized. If a context binding is created for the active UI element, it is transferred too.
The active UI element is initialized when it becomes visible. It remains alive until the surrounding view or the entire Web Dynpro component is closed, or the active UI element no longer has a parent element.
Note the following exceptions:
The active UI element is treated as visible if it is located in an element that can be made visible or invisible on the client, and if this element is also visible. Examples: The active UI element is in a Tray without an onToggle event action, or in a TabStrip without an onSelect event action.
Property lifeTime can be bound to a context attribute of type WDUI_LIFE_TIME, which, with FlashIsland for instance, can have values CL_WD_FLASH_ISLAND=>E_LIFE_TIME-WHEN_VISIBLE and CL_WD_FLASH_ISLAND=>E_LIFE_TIME-WHEN_ALIVE.
Property lifeTime is available for the following UI elements:
AbstractGenericActiveComponent and the UI elements derived from this:
AbstractApplet and the UI elements derived from this:
AbstractActiveComponent and the UI elements derived from this:
Property lifeTime can also be adapted from a component configuration or a customizing.
In the system, you can find examples for testing in components WDR_TEST_LIFECYCLE_AC.