본문 바로가기

IndexOutOfException3

RecyclerView IndexOutOfException : invalid item position 매일 앱의 버그를 모니터링하기 위해 Firebase Crashlytics을 확인한다. 최근 들어 목록을 출력하는 페이지에서 'IndexOutOfException' 이 발생하는 오류가 자주 리포팅되었다. IndexOutOfException : inconsistency detected, invalid item position 막상 오류가 발생한 곳을 찾아서, 디버그를 실행해보면 정상적으로 목록이 출력되고 데이터도 오류 없이 전달됨을 확인할 수 있었다. 문제는 카테고리를 변경해서, 새로운 목록을 갱신해서 출력하는 과정에서 비정상적인 오류로 App Crash 증상을 확인할 수 있었다. 구글링을 통해, 확인해보니 RecyclerView에 ArrayList를 사용할 경우에 단순히 ArrayList.clear()을 .. 2021. 10. 29.
[Kotlin] 앱 비정상 종료 시, 대체 액티비티 띄우기 ! 개발자에게 있어서, 앱의 버그만큼 신경쓰이는 부분이 있습니다. 바로 앱 구동 중에, 비정상적으로 종료되버리는 현상입니다. 앱이 비정상 종료되는 원인은 다양합니다. 현재까지 대표적으로 겪은 사례로는 IndexOutOfException, Thread Exception 두 가지가 있었습니다. * IndexOutOfException : ArrayList를 사용하던 중에, 빈 데이터에서 직접적으로 특정 인덱스를 접근하는 경우, 에러가 발생하는 경우. ArrayList articleList = new ArrayList(); // 5번째 항목을 접근 String fifthValue = articleList.get(4); // IndexOutOfException 발생 * Thread Exception : 백그라운드 스.. 2021. 3. 12.
ArrayList.remove() 사용시 주의점 ArrayList 데이터에서 특정 조건에 해당하는 값을 모두 삭제하는 함수를 생성하여 테스트 하는 과정에서 IndexOutOfException 에러가 발생했다. 아래는 문제의 소스코드이다. 여러분들은 딱 보았을 때 어느 부분이 문제점인지 바로 보이시나요? ArrayList wishList = new ArrayList(Arrays.asList("android", "java", "ios", "kotlin")); for(int idx=0; idx 2020. 7. 7.