일상&개발 로그

[PerformancePattern] Enum 본문

개발/안드로이드 개발

[PerformancePattern] Enum

dskim98 2017. 5. 23. 18:39
# Enum

단점 1. dex크기가 커진다.
- 동일한 기능 int를 썼을때 vs enum을 썼을 때 dex크기 차이 비교

 

 기존

int 추가

enum 추가 

 dex사이즈

 2556bytes

 2680bytes

 4188bytes


int: 124bytes 추가

enum: 1632bytes 추가 

약 13배 가까이 차이남



dex크기가 앱 성능에 직접적인 영향을 미치지는 않는다. 그러나 앱 실행을 위해서는 Heap 메모리에 dex파일을 로딩해야 하는데 Heap메모리가 부족하게되면 System Memory에 압박이 가해지고, 메모리 공간을 확보하기위해 앱이 종료될 수도 있다.



단점 2. Runtime 오버헤드가 추가된다.

뿐만 아니라, enum이 선언될 때마다 16 + 20bytes 정도 Runtime 메모리 오버헤드가 추가됨.



요약: enum 사용을 지양해라.


동영상 링크: https://www.youtube.com/watch?v=Hzs6OBcvNQE&index=21&list=PLOU2XLYxmsIKEOXh5TwZEv89aofHzNCiu

Comments