2012-11-22 16 views
5

Ho il seguente scenario:Come posso migliorare la velocità di caricamento/velocità di pubblicazione per un'applicazione AIR per Android con molte classi?

un app per dispositivi Android che ha un qualche centinaio di classi. Sto usando Flash CS5.5, sviluppando in AS3 usando AIR per Android.

L'app è un puzzle game e ogni classe rappresenta uno degli elementi del puzzle. Ogni classe è una derivata di una classe base e contiene solo alcune informazioni specifiche come nome univoco, categoria, luogo nel puzzle. Ogni classe ha anche allegato un'immagine di 80 x 80 px. Tuttavia, ci sono circa 300 classi come questa.

L'applicazione è molto fluido una volta caricata, perché ci vuole sempre per l'applicazione di pubblicare e poi per l'esecuzione sul dispositivo mobile. Non ho alcun problema con il tempo di esportazione/pubblicazione elevato e il tempo di installazione sul dispositivo mobile è piuttosto elevato. Ma ogni volta che eseguo l'applicazione dal dispositivo mobile, ci vogliono circa 2 minuti per caricarla, il che è anormalmente alto, e nemmeno i giochi FPS 3D high-end vengono caricati per così tanto tempo. I test vengono eseguiti su HTC Sensation con Android 4.0 e, successivamente, 4.1.

La mia domanda è, cosa posso fare per aiutare a ridurre questo tempo di avvio iniziale? Cito di nuovo, l'app funziona senza problemi una volta caricata poiché non è molto complessa né utilizza molta grafica a parte le molte immagini JPG 80x80 allegate a ciascuna classe. Nei primi test, quando avevo implementato solo 20-30 classi, tutto andava liscio. Quando ho aggiunto tutti gli elementi necessari per il gioco dopo che la logica del gioco era completa, tutto era lento da caricare.

Grazie per eventuali risposte/suggerimenti.

+1

ne modularizzare e caricarlo - alcuni possono essere caricati quando necessario - ma in questo modo si avrà piccola "core" applicazione che inizializzazione più veloce. –

+0

Come posso impedire il caricamento di tutte le classi e gli elementi della libreria all'avvio? :) – Ioan

+1

stai usando Flash IDE per la compilazione di quanto sia piuttosto difficile da escludere ma non impossibile. Devi cercare SWC e le classi escluse e su ApplicationDomain. Non è necessario utilizzare ogni classe nella classe "Principale". Puoi avere un "loader" come classe "principale" che caricherà altri elementi, ecc. Ma devi fare un google su progetti modulari. –

risposta

1

Se si vuole accelerare i tempi di compilazione per un progetto AS3 in Flash CS5.5, andare nelle impostazioni Actionscript 3 per il vostro .fla e spegnere 'la modalità avvertenze'. La modalità di avviso ha un po 'di overhead perché prova a darti avvertimenti utili durante la migrazione del codice da AS2 a AS3. Se sai cosa stai facendo, puoi disattivarlo e risparmiare un sacco di tempo.

1) File> Impostazioni pubblicazione. 2) Fare clic sull'icona della chiave inglese accanto a 'Actionscript 3.0' 3) Deseleziona 'Modalità avvertenze'

Questo taglio di fare i tempi di compilazione su un grande progetto per me un bel po '. Un'altra cosa che aiuta è quella di suddividere le risorse in swfs/swcs più piccoli che vengono introdotti durante il runtime.

solo una risposta parziale, non sono sicuro di come risolvere un tempo di caricamento lento su un dispositivo Android. In bocca al lupo!

+0

Grazie mille. Avevo visto questa soluzione da qualche altra parte, ma è bene che appaia anche qui. Ciò ha comportato un tempo di caricamento per la pubblicazione dell'app a 2-3 secondi. Per quanto riguarda il caricamento del tempo di caricamento dell'app, ho deciso di rimuovere tutti i link dalla libreria ad actionscript e caricare le mie immagini dinamicamente quando sono necessarie: http://verysimpleideastudios.com/actionscript3/actionscript-3-dynamically-loading-images – Ioan