<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		<link rel="stylesheet" type="text/css" href="content.css" />
		<title>
			Optimera ActionScript för Flash Lite-innehåll på mobila enheter
		</title>
<!-- Changed by: , 21-Mar-2006 -->
<script src="help.js" type="text/javascript" language="Javascript" charset="UTF-8">...</script> 
		
		
<script type="text/javascript">
<!--[CDATA[
handleContext(1);
if (use_ie_6_behavior) {
  document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"content-ie6.css\" />");
}
// ]]-->
</script> 
		
<script src="scripts.js" type="text/javascript" language="Javascript" charset="UTF-8">...</script> <script src="terms.js" type="text/javascript" language="Javascript" charset="UTF-8">...</script> 
	</head>
	<body id="content_body">
<!--googleoff: index-->
<!-- BEGIN PAGE CONTENT WRAPPER -->
		<div id="pneumonic">
			<h1 class="DeviceCentral">DeviceCentral</h1>
		</div>
		<div id="page_content_wrapper">
			<p class="sharedproducts">AVSNITT FINNS I: </p><p class="sharedproductindicators"><img src="images/flashSharedIndicator.png" title="Flash" /></p>
<!-- BEGIN BREADCRUMBS -->
			<div id="breadcrumb">
<!-- BEGIN BREADCRUMBS -->
				
<div class="nav"><dl class="page"><dd class="prev"><a accesskey="p" class="prev" href="WS139D2B99-B13E-485e-8ED0-E9E2572A00BC.html" title="Optimera Flash Lite-bilder för mobila enheter"><img src="images/prev.gif" alt="Föregående" /></a></dd><dd class="next"><a accesskey="n" class="next" href="WS4BC3BE1E-4574-4f96-BB90-23BFC3108D34.html" title="Hantera filminne i Flash Lite för mobila enheter"><img src="images/next.gif" alt="Nästa" /></a></dd></dl></div><div class="hierarchy"><a href="WS28F6F81C-55B3-4ad5-B632-171637249F5B.html">Skapa, förhandsgranska och testa innehåll i Adobe Device Central</a> /
     <a href="WS3A29C98D-5768-45ea-AB2F-75FAF64078EE.html"><b>Tips för att skapa innehåll för mobila enheter</b></a> 
     </div>

<!-- END BREADCRUMBS -->
			</div>
<!-- END BREADCRUMBS -->
<!-- BEGIN PAGE TITLE -->
<!--googleon: index-->
			<h1>
				Optimera ActionScript för Flash Lite-innehåll på mobila enheter
			</h1>
<!--googleoff: index-->
<!-- END PAGE TITLE -->
<!-- BEGIN CONTENT WRAPPER -->
			<div id="content_wrapper">
<!--googleon: index-->
				<div><p>
                        
                        
                        På grund av bearbetningshastigheten och minnesbegränsningarna på de flesta mobila enheter ska du följa riktlinjerna nedan när du utvecklar ActionScript för Flash Lite-innehåll som ska användas på mobila enheter:</p>
<div class="p">
                        <ul><li>
                              <p>Gör filen och dess kod så enkel som möjligt. Ta bort filmklipp som inte används, ta bort onödiga bilder och kodloopar och undvik att använda för många eller ovidkommande bilder.</p>

                           </li>
<li>
                              <p>Att använda <samp class="codeph">FOR</samp>-loopar kan vara kostsamt på grund av det extraarbete som utförs när villkoret kontrolleras vid varje iteration. När kostnaderna för den extra iterationen och looparna är jämförbara, kör du åtgärderna för sig i stället för att använda en loop. Koden kanske blir längre, men prestandan blir bättre.</p>

                           </li>
<li>
                              <p>Stoppa de bildbaserade looparna så fort som de inte längre behövs.</p>

                           </li>
<li>
                              <p>När så är möjligt bör du undvika sträng- och matrisbearbetning eftersom de kan vara processorintensiva.</p>

                           </li>
<li>
                              <p>Försök alltid att komma åt egenskaperna direkt i stället för att använda ActionScript-metoder för att hämta och ange, som är mer omständliga än andra metodanrop.</p>

                           </li>
<li>
                              <p>Hantera händelser med förstånd. Komprimera matriserna för händelseavlyssning genom att använda villkor som kontrollerar om en lyssnare finns (är inte <samp class="codeph">null</samp>) innan den anropas. Rensa bort alla aktiva intervall genom att anropa <samp class="codeph">clearInterval</samp> och ta bort alla aktiva lyssnare genom att anropa <samp class="codeph">removeListener</samp> innan innehållet tas bort med hjälp av <samp class="codeph">unloadapplication</samp> eller <samp class="codeph">removeapplicationClip</samp>. Flash återsamlar inte SWF-dataminnet (till exempel från intervall och lyssnare) om några ActionScript-funktioner fortfarande refererar till SWF-data när ett filmklipp inte har lästs in. </p>

                           </li>
<li>
                              <p>När variablerna inte längre behövs tar du bort dem eller anger dem till <samp class="codeph">null</samp>, så att de markeras för skräpinsamling. Om du tar bort variabler blir det enklare att optimera minnesanvändningen under körning, eftersom onödiga tillgångar då tas bort från SWF-filen. Det är bättre att ta bort variabler än att ange dem till <samp class="codeph">null</samp>.</p>

                           </li>
<li>
                              <p>Du tar bort lyssnare uttryckligen från objekt genom att anropa <samp class="codeph">removeListener</samp> innan skräp samlas in.</p>

                           </li>
<li>
                              <p>Om en funktion anropas dynamiskt och skickas som en fast uppsättning parametrar ska du använda <samp class="codeph">call</samp> i stället för <samp class="codeph">apply</samp>.</p>

                           </li>
<li>
                              <p>Gör namnområden (till exempel sökvägar) mer komprimerade så att starttiden minskar. Alla nivåer i paketet kompileras till ett <samp class="codeph">IF</samp>-uttryck och orsakar ett nytt <samp class="codeph">Object</samp>-anrop, så färre nivåer i sökvägen sparar tid. Till exempel en sökväg med nivåerna <samp class="codeph">com.xxx.yyy.aaa.bbb.ccc.funktionsnamn</samp> gör så att ett objekt instantieras för <samp class="codeph">com.xxx.yyy.aaa.bbb.ccc</samp>. Vissa Flash-utvecklare använder preprocessorprogram för att reducera sökvägen till en unik identifierare, till exempel <samp class="codeph">58923409876.funktionsnamn</samp>, innan SWF-koden kompileras.</p>

                           </li>
<li>
                              <p>Om en fil består av flera SWF-filer som använder samma ActionScript-klasser, ska du utelämna dessa klasser från SWF-filerna under kompileringen. Då blir det enklare att förkorta filens överföringstid och minneskraven vid körningen minskar.</p>

                           </li>
<li>
                              <p>Undvik att använda <samp class="codeph">Object.watch</samp> och <samp class="codeph">Object.unwatch</samp> eftersom varje ändring av en objektegenskap medför att spelaren måste fastställa om ett ändringsmeddelande måste skickas. </p>

                           </li>
<li>
                              <p>Om ActionScript-kod som körs vid en nyckelbild i tidslinjen tar mer än 1 sekund att kompilera, bör du dela upp koden så att den körs i flera nyckelbilder. </p>

                           </li>
<li>
                              <p>Ta bort <samp class="codeph">trace</samp>-uttrycken från koden när du publicerar SWF-filen. Det gör du genom att markera kryssrutan Utelämna spårningsåtgärder på fliken Flash i dialogrutan Publiceringsinställningar. </p>

                           </li>
<li>
                              <p>Arv ökar antalet metodanrop och använder mer minne: en klass som omfattar alla funktioner som behövs är mer effektiv vid körning än en klass som ärver vissa funktioner från en överordnad klass. Därför kanske du måste kompromissa i designen mellan antalet klasser och kodens effektivitet.</p>

                           </li>
<li>
                              <p>När en SWF-fil läser in en annan SWF-fil som innehåller en anpassad ActionScript-klass (till exempel <samp class="codeph">foo.bar.AnpassadKlass</samp>) och sedan slutar läsa in SWF-filen, bevaras klassdefinitionen i minnet. Om du vill spara minne tar du uttryckligen bort alla anpassade klasser i de icke inlästa SWF-filerna. Använd uttrycket <samp class="codeph">delete</samp> och ange det fullständiga klassnamnet, till exempel: <samp class="codeph">delete foo.bar.AnpassadKlass.</samp>
                              </p>

                           </li>
<li>
                              <p>Begränsa användningen av globala variabler, eftersom de inte markeras för skräpinsamling om filmklippet som definierar dem tas bort.</p>

                           </li>
<li>
                              <p>Undvik att använda standardkomponenter för användargränssnittet (finns i fönstret Komponenter i Flash). Dessa komponenter är till för att köras på stationära datorer och är inte optimerade för mobila enheter.</p>

                           </li>
<li>
                              <p>När så är möjligt bör du undvika djupt kapslade funktioner.</p>

                           </li>
<li>
                              <p>Undvik att referera till variabler, objekt eller funktioner som inte finns. I Flash Lite 2 slås referenser till variabler som inte finns upp långsammare än i skrivbordsversionen av Flash Player, vilket allvarligt kan påverka prestandan.</p>

                           </li>
<li>
                              <p>Undvik att definiera funktioner genom att använda anonym syntax. Till exempel <samp class="codeph">mittObj.händelsenamn= funktion{ ...}</samp>. Funktioner som definieras uttryckligen är mer effektiva, till exempel <samp class="codeph">funktion minFunk { ...}; mittObj.händelsenamn= minFunk;</samp>.</p>

                           </li>
<li>
                              <p>Minimera användningen av matematikfunktioner och flyttal. När dessa värden beräknas blir prestandan sämre. Om du måste använda matematikrutiner bör du beräkna värdena i förväg och lagra dem i en variabelmatris. Det går mycket snabbare att hämta värden från en datatabell än att beräkna dem i Flash under körning.</p>

                           </li>
</ul>

                     </div>
</div>

<!--googleoff: index-->
			</div>
<!-- END CONTENT WRAPPER -->
		</div>
<!-- END PAGE CONTENT WRAPPER -->
		<br clear="both" />
		<div id="related">
			<div class="t">
				<div class="b">
					<div class="l">
						<div class="r">
							<div class="bl">
								<div class="br">
									<div class="tl">
										<div class="tr">
											<div id="related_in">
												<h3>
<script type="text/javascript">document.write(terms_Related_Information);</script> 
												</h3>
												
												<h4>
<script type="text/javascript">document.write(terms_AHV_HELP_RESOURCE_CENTER);</script> 
												</h4>
												<ul class="link-list"><li class="icon external"><a target="_blank" title="Den här sidan på webben" href="http://help.adobe.com/sv_SE/DeviceCentral/1.0/WSD7F8E1A9-680A-4000-9BA9-D7B01FDD7ECD.html">Den här sidan på webben</a></li></ul>
												
											</div>
											<br clear="both" />
										</div>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
		<br clear="both" />
	</body>
</html>