Det sätt på vilket mobilenheter används, och deras fysiska egenskaper, ställer stora krav på omsorgsfull kodning och design. Det är till exempel viktigt att effektivisera kod så att den körs så fort som möjligt. Men även kodoptimering har gränser; smart design som är anpassad efter enhetens begränsningar kan också bidra till att den visuella presentationen av ditt program inte överbelastar systemet.
Kod
Det är förstås alltid bra om koden är så snabb som möjligt, men den långsammare processorhastigheten på många mobilenheter innebär att kodoptimeringar för mobila plattformar ger avsevärt större utväxling. Dessutom drivs mobilenheter nästan alltid med batterier. Om det går att uppnå samma resultat med mindre arbete räcker batterierna längre.
Design
Det är viktigt att ta hänsyn till faktorer som den lilla skärmstorleken, interaktionen med pekskärmen och de många olika miljöer mobilen används i så att du kan designa ditt program på bästa sätt.
Kod och design i samverkan
Om programmet använder animeringar är återgivningsoptimering mycket viktigt. Men ofta räcker det inte med bara kodoptimering. Du måste utforma de visuella aspekterna av programmet på ett sådant sätt att koden kan återge dem effektivt.
Viktiga optimeringstekniker behandlas i handboken
Optimera prestanda för Flash-plattformar
. De tekniker som behandlas i handboken gäller allt Flash- och AIR-innehåll, men är avgörande för att utveckla program som fungerar bra på mobilenheter.
Programmets livscykel
När ditt program tappar fokus till ett annat program sänks bildrutefrekvensen i AIR till 4 bildrutor per sekund och grafiken upphör att återges. Under den här bildrutefrekvensen har anslutningar till direktuppspelningsnätverk och socketar en tendens att brytas. Om ditt program inte använder sådana anslutningar kan du sänka bildrutefrekvensen ännu mer.
När det är lämpligt bör du även stoppa ljuduppspelningar och ta bort avlyssnare för geolocation- och accelerometersensorerna. AIR-objektet NativeApplication skickar aktiverings- och inaktiveringshändelser. Använd de här händelserna för att hantera övergången mellan det aktiva läget och bakgrundsläget.
De flesta mobiloperativsystem avslutar bakgrundsprogram utan någon förvarning. Genom att spara programläget ofta bör ditt program kunna återställas till ett rimligt läge, vare sig det återgår till aktiv status från bakgrunden eller startas på nytt.
Informationstäthet
Den fysiska skärmstorleken på mobila enheter är mindre än en datorskärm, men pixeltätheten (pixlar per tum) är högre. En och samma teckenstorlek ger bokstäver som rent fysiskt är mindre på en mobilskärm än på en vanlig datorskärm. Du måste ofta använda en större teckenstorlek för att texten ska vara läsbar. I allmänhet kan man säga att 14 punkter är den minsta teckenstorlek som går att läsa.
Mobila enheter används ofta i rörelse och under svaga ljusförhållanden. Fundera över hur mycket information som det är realistiskt att visa på skärmen om den ska vara läsbar. Det kan vara mindre än det som visas på en datorskärm med samma pixelmått.
Tänk också på att när användaren rör skärmen döljer fingret och handen en del av skärmen. Placera interaktiva element längs skärmens sidor och nederkant, om användaren måste interagera med dem mer än genom att bara röra vid dem.
Filsystemåtkomst
Olika mobiloperativsystem har olika filsystembegränsningar, och dessa begränsningar brukar skilja sig från de som gäller för operativsystem på stationära datorer. Var det är bäst att spara filer och data kan därför också variera från en plattform till en annan.
En följd av variationerna i filsystemen är att genvägar till vanliga kataloger, som finns i AIR-klassen File, inte alltid är tillgängliga. Följande tabell visar vilka genvägar som kan användas på Android och iOS:
|
Android
|
iOS
|
File.applicationDirectory
|
Skrivskyddad via URL (ingen systemsökväg)
|
Skrivskyddad
|
File.applicationStorageDirectory
|
Tillgängligt
|
Tillgängligt
|
File.cacheDirectory
|
Tillgängligt
|
Tillgängligt
|
File.desktopDirectory
|
Roten för sdcard
|
Inte tillgängligt
|
File.documentsDirectory
|
Roten för sdcard
|
Tillgängligt
|
File.userDirectory
|
Roten för sdcard
|
Inte tillgängligt
|
File.createTempDirectory()
|
Tillgängligt
|
Tillgängligt
|
File.createTempFile()
|
Tillgängligt
|
Tillgängligt
|
Apples riktlinjer för iOS-program innehåller särskilda regler om vilka lagringsplatser som ska användas för filer i olika situationer. En av dessa riktlinjer anger till exempel att endast filer som innehåller användarangivna data, eller data som inte kan återskapas eller hämtas igen, bör lagras i en katalog som är avsedd för fjärrsäkerhetskopiering. Information om hur du uppfyller Apples riktlinjer för säkerhetskopiering och cachning finns i
Hantera säkerhetskopiering och cachning av filer
.