상세 컨텐츠

본문 제목

java.io.NotSerializableException 오류

안드로이드/코틀린, 자바

by 개발익선 2020. 11. 23. 14:30

본문

구글 콘솔에서 앱을 관리하다 보면 보고도 원인을 찾을 수 없는 오류가 발생하곤 한다.

 

굉장히 끈질기도록 비정상 종료를 유발하는 오류 중 하나였다.

 

java.io.NotSerializableException

-> 유형 (java.lang.RuntimeException)

어디 클래스에서 오류가 나는지 안나온다.

직렬화 구조 클래스에서 소스를 돌리다가 Runtime 오류가 난 듯하다.

 

어디 클래스에서 발생 했는지 알 수가 없다.

물론 내가 쓰고 있는 클래스 중 하나겠지만 ㅎㅎ 바로 찾아보자

 

일단 직렬화를 위해 두가지 방법을 사용하고 있을 것이다. 직렬화는 대부분 bundle 또는 intent에 Cast보다는 implements로 사용하고 있을 듯..

 

1단계.

Serializable 를 사용하는 class 선언에 implemnets을 사용할 텐데

필자는 그만 클래스를 Ctrl+C, V를 하다가 Serializable이 불필요한 클래스에도 사용되고 있었다.

 

불필요 내용을 제거하고 경과를 며칠 지켜보니, 정말 오류가 많이 줄었다.

 

하지만, 아직 아주 없어지진 않았다.

이 오류를 완전히 없애고 싶다..

 

2단계. 

fragment(activity 등)에서 -> fragment(activity 등)간으로 이동할때 viewmodel을 넘길 때 직렬화로 인해

viewmodel도 implements를 해주었는데 bundle에 담을 때 cast까지 추가해서 오류를 해결해보고 다시 글을 수정할 계획이다.

 

 

 

포스팅을 읽고,

큰 도움이 되셨다면, 공감(♥)을 던져 주세요!

큰 힘이 되어 다음 포스팅 시에도 파이팅하겠습니다.

관련글 더보기

댓글 영역