Kakao i ConnectLive Q&A 게시판

안드로이드: rn, 웹뷰, 웹소켓 환경에서 백그라운드 재생 이슈

React Native 안에 웹뷰를 사용하여 실시간 영상 재생과 웹소켓 실시간 통신을 하는 서비스를 제작하고 있습니다. 안드로이드에서 잠금 화면이나 홈 화면 등 영상을 백그라운드에서 재생시킬 경우 재생이 잘 되다가 갑자기 끊기는 이슈가 발생합니다. 주로 약 15분 후에 발생하였으며, 특별한 조치(앱 재실행 등)를 취하지 않고 실시간 영상을 다시 재생시키는 경우(영상 페이지 나갔다 다시 들어오기) 약 1분 만에 끊깁니다. 다음은 해당 이슈를 재현한 기록입니다.

  • 안드로이드, 화면 잠금한 상태에서 발생
    1. 16분, 화면 잠금된 상태에서 재생 중 소리가 갑자기 끊김, 들어가면 소리 없고 영상은 검은화면, UI 사용가능
    2. 1분, 증상 1과 동일
    3. 1분, 잠금화면 푼 이후 영상 정상적으로 재생됨
    4. 5분, 잠금화면이 아닌 안드로이드 홈 화면, 끊긴 이후 다시 들어갔을 때 앱 멈춤, 영상 그대로, UI 그대로, 반응 없음, 다른 사용자에게 접속 끊긴것으로 보임
    5. 13분, 증상 1과 동일

메모리 누수 문제와 네트워크 문제를 의심했었는데, 살펴본 결과 메모리는 끊기기 전까지 일정하다가 끊긴 직후 메모리 사용량이 떨어진 모습을 보여 메모리 누수는 아닌 것으로 보이고, 네트워크도 잠시 끊기게 해본 결과 아예 다른 처리로 넘어가는 것으로 보아 네트워크 문제도 아닌 것으로 보입니다.

혹시 비슷한 환경에서 이러한 백그라운드 이슈에 대해 겪은 적이 있으시거나 해결책을 아신다면 답장 주시면 감사하겠습니다.

안녕하세요 :blush:

관련 문제는 안드로이드 Foreground Service 로 구현이 되지 않았을 경우 생기는 문제로 유추됩니다.

운영체제에서 메모리를 정리하면서 생기는 이슈이고
서비스 레벨로 개발을 하시면 해당 문제는 해결될 것으로 보입니다.

해당 이슈가 아닐 경우에는 다시 문의주시면 감사드리겠습니다

1 Like