-
Android 데이터 직렬화개발/Android 2021. 7. 15. 18:56
데이터 직렬화
직렬화란?
- 직렬화란 메모리 내에 존재하는 data를 보다 쉽게 전송 및 전달 하기 위하여 byte 형태로 나열하는 것을 직렬화라 한다.
Android에서 컴포넌트간의 데이터 전달을 할때는 intent를 사용하여 data를 전달하는데 이때 객체형태의 데이터를 보낼때 직렬화가 필요하다.
Serializable
Serializable 은 자바의 표준 인터페이스로 데이터 클래스에서 해당 인터페이스를 상속하여 사용한다
- 장점
- Serializable 인터페이스만 상속받으면 자동으로 직렬화를 해주기 때문에 간편하게 사용할 수 있다.
- 단점
- 속도가 굉장히 느림 (성능 이슈)
Parcelable
Parcelable은 자바 기반이 아닌 Android Sdk에서 직렬화를 지원해주는 인터페이스로 안드로이드에서 사용하길 권장함
- 장점
- Serialize 보다 빠르며 android 에서 사용하길 권장
- 단점
- 필요한 코드를 개발자가 구현해줘야 하기 때문에 간단한 값을 넘겨줄때에도 보일러플레이트 코드가 많이 생김
Parcelize
이런 문제를 보한하기 위해 나온 코틀린의 Parcelize는 시간과 노력을 덜 들이고 손쉽게 데이터 클래스를 Parcelable하게 만들어줌. 즉 Serializable의 간편성과 Parcelable의 성능을 합친 인터페이스
사용 방법
'개발 > Android' 카테고리의 다른 글
Android Room TypeConverters (0) 2021.07.19 (jetpack) LiveData (0) 2021.07.16 android notification 즉시응답 (0) 2021.07.15 android 이미지 다중선택 (0) 2021.07.13 (jetpack) ROOM 사용 방법 (0) 2021.07.12