2013-04-25 17 views
11

Per quanto riguarda la programmazione Android,Devo gonfiare un layout o crearlo a livello di programmazione?

Questa domanda mi ha infastidito per un po ', dovrei gonfiare il layout il più possibile o dovrei creare i layout il più possibile a livello di codice?

Se mettiamo da parte la "convenienza" che è meglio? Più veloce? più sicuro? Qualsiasi input concreto è molto apprezzato.

saluti,

+0

In genere è possibile predefinire (e gonfiare durante il runtime) i layout ove possibile. Questo ha il vantaggio di separare l'interfaccia utente dalla logica dell'applicazione. Inoltre, è possibile utilizzare la vista grafica del layout senza eseguire l'emulatore (con eccezioni, ad esempio ListView 's non popolato e simili). – afk5min

+0

Capisco cosa stai dicendo, ma quello che voglio sapere è, ignoriamo la convenienza della codifica e supponiamo di separare completamente l'interfaccia utente dalla logica dell'applicazione nel codice, e il codice è comprensibile e pulito, ora che è più veloce e meglio, gonfiando o codificando il layout? – LuckyMe

+4

Nel codice sorgente Android ufficiale, i layout sono definiti in XML e gonfiati durante il runtime. IMO, se si costruisce il layout a livello di codice, non è pulito. Inoltre, perdi la possibilità di visualizzare l'anteprima dell'interfaccia utente che ottieni sul visualizzatore di layout XML. – dannyroa

risposta

33

vedo, così gonfiaggio è il Google/Android raccomandato e modo convenzionale di fare layout

Sì.

e non rallenta il tempo di esecuzione dell'applicazione di molto

Non rallentare il tempo di esecuzione dell'applicazione di molto rispetto a fare lo stesso lavoro da soli in Java.

Perché ho letto da qualche parte sul sito di sviluppatori di Android che è un processo lento e le visualizzazioni dovrebbero essere "riutilizzate" il più possibile prima di ricorrere al gonfiaggio.

vista di riciclaggio in un AdapterView - il luogo più probabile per voi di avere letto che consiglio - è importante, perché il riciclaggio di vista è più veloce di creare viste, non importa come quelle viste sono create. Anche in questo caso, il confronto non è tra l'inflazione e il rolling del proprio codice Java, ma tra l'inflazione e non crea nuove viste.

dovrei gonfiare il layout il più possibile o dovrei creare i layout il più possibile a livello di codice?

Gonfiare, per favore.

quale è meglio?

L'inflazione tiene conto di set di risorse (ad es. Layout diversi in base alle dimensioni e all'orientamento dello schermo). L'inflazione tiene conto delle forzature degli stili. L'inflazione funziona meglio con gli utensili.

più veloce?

Probabilmente ci sono alcuni scenari in cui hard-coded Java è più veloce di inflazione, così come ci sono alcuni scenari in cui hard-codificati in linguaggio assembly è più veloce di C. Nella maggior parte dei casi, la differenza di velocità non è abbastanza importante per garantire la seccatura.

Più sicuro?

Non so cosa si consideri "sicuro" in questo contesto.

+0

Grazie per la risposta elaborata, solo una domanda riguardo _when rispetto a fare lo stesso lavoro te stesso in Java_ intendi dire che l'esecuzione del layout codificato sarebbe più lenta dell'inflazione, non parlando del tempo di scrittura del codice, piuttosto del tempo di esecuzione del codice. Grazie molto. – LuckyMe

+1

@LuckyMe: Tutti i miei riferimenti temporali riguardano il tempo di esecuzione. – CommonsWare

+0

Vedo, grazie per l'aiuto, evviva :) – LuckyMe

Problemi correlati