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.
ne modularizzare e caricarlo - alcuni possono essere caricati quando necessario - ma in questo modo si avrà piccola "core" applicazione che inizializzazione più veloce. –
Come posso impedire il caricamento di tutte le classi e gli elementi della libreria all'avvio? :) – Ioan
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. –