안드로이드에서만 특정 스크린을 사용중 스크롤을 아래로 내렸을 경우에 앱이 죽어버리는 현상이 발생습니다.
아무런 로그도 발생하지않고 앱이 죽어버려, 원인 파악이 힘들었는데 해당 화면에서는 일부 기능을 react-native-webview 를 사용한 webview로 기능을 제공해주고 있어 해당 라이브러리 커뮤니티에서 서칭중 비슷한 증상 이슈를 발견했습니다.
해당 이슈는 웹뷰의 브라우저와 안드로이드 버전간의 충돌로 인해 웹뷰를 지나서 스크롤되는 순간 앱이 crash 됩니다.
Chrome 73이 출시되기 시작하면서 해당 문제가 발생하기 시작했다합니다.
해결방법 1. 사용자에게 직업 특정 크롬 버전 사용을 권장한다
해결방법 2.
<View style={{ flex: 1 }}>
<WebView style={{ opacity: 0.99, minHeight: 1 }} ... />
</View>
웹뷰에 불투명도를 적용하는 방법으로 문제를 해결했습니다.
아래는 해당 이슈의 대한 라이브러리 개발자의 댓글 입니다.
좀 더 많은 맥락을 추가하자면; 지난 목요일 Chrome 73이 출시되기 시작하자 우리도 이 문제를 경험했습니다. 불투명도를 적용하기 전에 약 150,000번의 충돌이 발생했습니다. 0.99 해킹으로 대부분의 경우 문제가 해결되었습니다. 그러나 수정 사항이 적용된 경우 WebView 콘텐츠가 올바르게 렌더링되지 않는 문제(스크롤 작업이 비정상적으로 작동하고 탭이 실제 탭과 다른 위치에 등록됨)에 문제가 발생했습니다. ScrollView에 포함된 5000px 높이의 대형 웹뷰로 제한되는 것 같습니다. 특정 웹뷰의 경우 이제 불투명도: 0.99 수정 없이도 충돌을 '수정'하는 것처럼 보이는 모달에서 엽니다. 우리는 아직 이 문제를 조사하는 중이므로 그보다 더 구체적인 정보는 없지만 아마도 이 추가 정보는 같은 문제를 겪고 있는 누군가에게 도움이 될 것입니다.
더많은 정보는 아래 링크를 참고하세요!
https://github.com/react-native-webview/react-native-webview/issues/429