2013-01-22 19 views
5

L'app che sto costruendo ha una semplice animazione del pulsante immagine (ruota) prima di iniziare l'attività successiva. Ho testato sull'emulatore e 5 diversi dispositivi:Animazione incoerente Android su diversi dispositivi

  • Samsung GT-I5500

    Samsung Galaxy Nexus

    Samsung Galaxy s2

    Motorola Razr Maxx

    HTC (Non ricordo il modello)

L'animazione ha funzionato bene su tutti i modelli, ad eccezione del Nexus. Sul Nexus, il dispositivo attende la durata dell'animazione (500 ms) prima di iniziare l'attività successiva, quindi invece dell'animazione - solo un ritardo fastidioso (e apparentemente inspiegabile per l'utente). Tutti i dispositivi erano in esecuzione Jelly Bean ad eccezione del GT-I5500.

Domande:

1) Perché il lavoro di animazione su alcuni dispositivi e non altre, anche in esecuzione la stessa versione del sistema operativo?

2) Esiste un modo per verificare se il dispositivo è "ricettivo" all'animazione? (Inizialmente avevo pensato che avesse qualcosa a che fare con la versione dell'SDK, ma non è così)

risposta

4

L'accelerazione di audio, video, GPU dipende dall'hardware. Puoi vivere nella trappola di Java è indipendente dalla piattaforma e ci sono interfacce ed eredità. In realtà non c'è un mercato:

  • ciascuno dei produttori vogliono qualcosa di speciale per lui per ottenere nuovi clienti Denaro
  • ci sono programmi realizzati da programmi, questi possono avere bug, e se può grotta => it ha, perché nessuno dei test è al 100% dei casi.
+0

Capisco questo, ma non sarebbe sicuro assumere che almeno il Samsung s2 e il Samsung Nexus, che eseguono lo stesso sistema operativo, interpreterebbero le animazioni nello stesso modo? – LMVogel

+0

@LMVogel Questi due telefoni "Samsung" sono molto diversi, uno è di Samsung e l'altro è ** costruito ** da Samsung ma è un dispositivo Google. Il sistema operativo su ciascuno sarà abbastanza diverso perché su un dispositivo non Nexus il produttore modificherà Android per rendere il proprio telefono diverso dal matheszabi, spesso anche un operatore. Un buon esempio di ciò è che Samsung in alcuni paesi ha appena ottenuto JellyBean ma i dispositivi Nexus lo hanno avuto per mesi perché Samsung lo stava modificando. Potrebbe essere diverso con i tuoi emulatori a seconda di quanto siano accurati, ma questo è il caso dei dispositivi reali – seaplain

+0

Tutto ciò detto, c'è un modo per sapere come si comporterà un dispositivo? E se non "accetterà" l'animazione, per aggirarla? Come ho detto nella mia domanda, il dispositivo che non esegue l'animazione sembra bloccato, fino a quando non procede all'attività successiva. – LMVogel

Problemi correlati