목차
Serializable 이란?
Serializable 은 표준 자바 인터페이스이다. 안드로이드 SDK의 한 부분이 아니다.
구현이 단순하다.
다만, 프로세스 중 reflection이 사용된다. 그래서 많은 추가 객체가 생성되고 가비지 컬렉터가 많이 발생할 수 있다. 그 결과 성능이 저하되고 배터리가 소모된다.
Parcelable 이란?
Parcelable은 안드로이드 SDK의 일부이다.
Parcelable을 사용할 때 reflection이 없도록 설계되었다.
하지만 구현이 어렵다.
Parcelable VS Serializable
테스트 결과 Parcelable이 Serializable보다 10배 빠르다는 결과가 있다.
하지만 커스텀 Serializable (오픈소스 등) 의 경우 Parcelable 보다 쓰기 3배, 읽기 1.6배 빠르다.
0.000042 밀리세컨 신경 쓸 시간에 빨리 구현하고 쉬는게 나을 수도 있다.