구글 콘솔에서 앱을 관리하다 보면 보고도 원인을 찾을 수 없는 오류가 발생하곤 한다.
굉장히 끈질기도록 비정상 종료를 유발하는 오류 중 하나였다.
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까지 추가해서 오류를 해결해보고 다시 글을 수정할 계획이다.
포스팅을 읽고,
큰 도움이 되셨다면, 공감(♥)을 던져 주세요!
큰 힘이 되어 다음 포스팅 시에도 파이팅하겠습니다.
EditText , TextView addTextChangedListener 이벤트 추가하기 (0) | 2020.11.26 |
---|---|
안드로이드 텍스트 색상 부분 적용하기 (0) | 2020.11.24 |
오늘 날짜 구하기, 연, 월, 일, 시간 응용 해보기 (0) | 2020.11.24 |
안드로이드 푸쉬 노티피케이션(알림) 글 길게 보이게 하기 (0) | 2020.11.23 |
자바코드를 코틀린으로 변경하기 (0) | 2020.11.23 |
댓글 영역