
#programowanie #java #androiddev
Czy enumy są złe? A czemu w ogóle miały by takie być? Nie zastanawiało was dlaczego w Androidowym frameworku wszędzie używa się integrów zamiast enumów?
No to odpowiedź macie tutaj:
http://trevore.com/post/should-I-use-enums-in-Android
W skrócie - ze względów wydajnościowych. Jeżeli ktoś kładzie duży nacisk na optymalizację, warto zastanowić się nad tym czy w danej sytuacji nie lepiej użyć klasy ze statycznymi polami integer. Oczywiście enum ma swoje zalety, ale w miejscach gdzie używamy go tylko jako flagi, lepiej sprawdza się stary dobry integer.
Czy enumy są złe? A czemu w ogóle miały by takie być? Nie zastanawiało was dlaczego w Androidowym frameworku wszędzie używa się integrów zamiast enumów?
No to odpowiedź macie tutaj:
http://trevore.com/post/should-I-use-enums-in-Android
W skrócie - ze względów wydajnościowych. Jeżeli ktoś kładzie duży nacisk na optymalizację, warto zastanowić się nad tym czy w danej sytuacji nie lepiej użyć klasy ze statycznymi polami integer. Oczywiście enum ma swoje zalety, ale w miejscach gdzie używamy go tylko jako flagi, lepiej sprawdza się stary dobry integer.
- Najlepsze
- Wszystkie komentarze





public class Status {
public static final int NIER-------OSIE = 1;
public static final int
setFlag(1)czysetFlag(flags.R-------O_SIE)? ( ͡° ͜ʖ ͡°)
static final int R-------O_SIE = 1;
@siemanko: nie wiem, co to za aplikacja musiałaby być, żeby potrzeba było więcej niż 100 enumów. A to jest nic jeśli chodzi o pamięć.
Ostatnio pracowałem przy aplikacji zajmującej się przetwarzaniem dźwięku. Apka generowała masę obiektów w bardzo krótkim czasie zawierających stan. Zmiana enumów na integry poprawiła ogólny czas reakcji o 50%.