ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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의 성능을 합친 인터페이스

    사용 방법

    UntitledUntitled 1

    '개발 > 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

    댓글

Designed by Tistory.