Bundle
다음과 같은 인터페이스에서 키와 같은 관련 상수 세트를 함께 정의했습니다 .
public interface From{
String LOGIN_SCREEN = "LoginSCreen";
String NOTIFICATION = "Notification";
String WIDGET = "widget";
}
이것은 관련 상수를 함께 그룹화하고 정적 가져 오기 (구현이 아님)를 만들어 사용하는 더 좋은 방법을 제공합니다. 내가 알고있는 Android
프레임 워크도 같은 동일한 방법으로 상수를 사용합니다 Toast.LENTH_LONG
, View.GONE
.
그러나 나는 종종 Java Enums
상수를 나타내는 훨씬 더 좋고 강력한 방법을 제공 한다고 느낍니다 .
그러나 사용의 성취도 문제가 enums
에가 Android
?
약간의 조사로 나는 혼란에 빠졌습니다. 이 질문에서
? 안드로이드의 성능 정보에서 제거 "당신 만의 int 필요 않도록 열거 형" 는 것이 분명 Google
제거했습니다 "피 열거 형을" 성능 팁에서, 그러나 그것의에서 공식 훈련 문서는 메모리 오버 헤드에주의 가 명확하게 말한다 절 : "열거 형을 종종 정적 상수보다 두 배 이상의 메모리가 필요합니다. Android에서 열거 형을 사용하는 것은 엄격히 피해야합니다. " 여전히 유효합니까? (예 : Java
1.6 이후 버전)
내가 관찰 한 가지 더 문제가 전송하는 것입니다 enums
통해 intents
사용하여 Bundle
직렬화에 의해 내가 그들을 보내야합니다 (예 :putSerializable()
, 기본 putString()
메소드에 비해 비용이 많이 드는 작업이라고 생각하지만 enums
무료로 제공하지만).
누군가 같은 것을 표현하는 가장 좋은 방법이 무엇인지 명확히 해줄 수 있습니까 Android
? 에 사용 enums
을 엄격히 피해야 Android
합니까?