Leistungsoptimierung für die ADOBE FLASH-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
LEISTUNGSOPTIMIERUNG FÜR DIE <strong>FLASH</strong>-<strong>PLATTFORM</strong><br />
Optimieren der Netzwerkinteraktion<br />
Mit <strong>die</strong>ser Technik wird eine Runtime Shared Library geladen, <strong>die</strong> <strong>die</strong> Bitmap den anderen SWF-Dateien zur<br />
Verfügung stellt. Die ApplicationDomain-Klasse speichert alle geladenen Klassendefinitionen und stellt sie zur<br />
Laufzeit über <strong>die</strong> getDefinition()-Methode zur Verfügung.<br />
Eine Runtime Shared Library kann auch <strong>die</strong> gesamte Codelogik enthalten. Die ganze Anwendung kann zur Laufzeit<br />
aktualisiert werden, ohne dass sie neu kompiliert werden muss. Der folgende Code lädt eine Runtime Shared Library<br />
und extrahiert zur Laufzeit <strong>die</strong> in der SWF-Datei enthaltene Definition. Diese Technik kann mit Schriftarten, Bitmaps,<br />
Sounds oder jeder ActionScript-Klasse verwendet werden:<br />
// Create a Loader object<br />
var loader:Loader = new Loader();<br />
// Listen to the Event.COMPLETE event<br />
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadingComplete );<br />
// Load the SWF file<br />
loader.load(new URLRequest("library.swf") );<br />
var classDefinition:String = "Logo";<br />
function loadingComplete(e:Event ):void<br />
{<br />
var objectLoaderInfo:LoaderInfo = LoaderInfo ( e.target );<br />
}<br />
// Get a reference to the loaded SWF file application domain<br />
var appDomain:ApplicationDomain = objectLoaderInfo.applicationDomain;<br />
// Check whether the definition is available<br />
if ( appDomain.hasDefinition(classDefinition) )<br />
{<br />
// Extract definition<br />
var importLogo:Class = Class ( appDomain.getDefinition(classDefinition) );<br />
// Instantiate logo<br />
var instanceLogo:BitmapData = new importLogo(0,0);<br />
// Add it to the display list<br />
addChild ( new Bitmap ( instanceLogo ) );<br />
} else trace ("The class definition " + classDefinition + " is not available.");<br />
Das Abrufen der Definition kann vereinfacht werden, indem <strong>die</strong> Klassendefinitionen in der Anwendungsdomäne der<br />
geladenen SWF-Datei geladen werden.<br />
Letzte Aktualisierung 9.5.2012<br />
84