Definivo insieme un insieme di costanti correlate come le Bundlechiavi in un'interfaccia come di seguito:
public interface From{
String LOGIN_SCREEN = "LoginSCreen";
String NOTIFICATION = "Notification";
String WIDGET = "widget";
}
Questo mi fornisce un modo migliore per raggruppare le costanti correlate e usarle facendo un'importazione statica (non implementa). So Androidquadro utilizza anche le costanti nello stesso modo come Toast.LENTH_LONG, View.GONE.
Tuttavia, sento spesso che il file Java Enums forniscano un modo molto migliore e potente per rappresentare la costante.
Ma c'è un problema di prestazioni nell'uso enumsdiAndroid ?
Con un po 'di ricerca sono finito in confusione. Da questa domanda
"Evita enumerazioni dove hai solo bisogno di Ints" rimossa dai suggerimenti sulle prestazioni di Android? È chiaro che Googleha rimosso "Evita enumerazioni" dai suoi suggerimenti sulle prestazioni, ma dai suoi documenti di formazione ufficiali Fai attenzione alla sezione relativa al sovraccarico della memoria che dice chiaramente: " spesso richiedono più del doppio della memoria rispetto alle costanti statiche. Dovresti assolutamente evitare di utilizzare le enumerazioni su Android. " È ancora valido? (Ad esempio nelle Javaversioni successive alla 1.6)
Un problema più che ho osservato è quello di inviare enumstutto intentstramite Bundledovrei inviarli via serializzazione (vale a dire putSerializable(), che ritengo un'operazione costosa rispetto al primitivo putString()metodo, eventhoughenums fornisce gratuitamente).
Qualcuno può chiarire qual è il modo migliore per rappresentare lo stesso in Android? Devo assolutamente evitare di usare enumsil Android?
Enum.ordinal()invece.