note11g/flutter_naver_map

[Android] Empty map shown when resuming from background on Some Devices

comversecorp opened this issue · 16 comments

맵 화면을 띄운 상태에서 앱을 백그라운드 내린 후, 일정시간(약 5분 이상) 지나고 앱을 다시 켜면 지도화면이 흰 화면으로 표시됩니다.
( 지도, 마커 모두 표시안되고 백화현상으로 표시 )
해당 증상은 갤럭시 22,23,24의 울트라 기종에서만 발생을 하네요.

Flutter(3.1.9), NaverMap (1.2.1) 버전입니다.

안녕하세요, 이슈를 제보해주셔서 감사합니다.
혹시 재현을 위한 표시되지 않는 화면의 스크린샷을 첨부해주실 수 있으실까요?

지도영역이 그냥 흰색으로 표시되어서 따로 스크린샷이 의미가 없을 것 같습니다.
1분정도만 백그라운드에 있어도 발생을 하고 있어서, 울트라모델에 한해서 Resume할때 앱을 종료했다가 다시 실행하게 한 상태입니다.

이게 아주 밝은 회색인지, 아예 흰색인지에 따라 어느 쪽(플러터엔진/네이티브렌더링)의 이슈인지 판단할 수 있어 요청드렸습니다.
캡쳐 가능하시다면 부탁드리겠습니다.

캡쳐이미지 입니다. 갤럭시 디스플레이 특성일지 모르겠는데, 흰색보다는 약간 붉은색이네요.

해당 현상 재현하였습니다.
플러터 엔진상의 이슈인 것으로 보이며, 원인을 조사하도록 하겠습니다.

재현 방법

지도화면을 띄워둔 플러터 앱에서 홈화면으로 잠시(1분 이상) 나가있다가, 다시 돌아오면 화면이 보이지 않음.
이때, takeSnapShot()은 잘 작동하며, 화면을 회전하면 원래 조작이 가능한 상태로 돌아온다.
갤럭시 S23 Ultra(Android 14) 모델에서 재현됨.

Reproduce Steps

Tested Devices: Samsung Galaxy S23 Ultra, Samsung Galaxy S22 Ultra
Not Reproduced Devices: Android Emulator...

  1. Open the page that include a map widget
  2. Go to Launcher Home(no exit our app. just background state)
  3. Wait for 1minute
  4. Come back to our app.

Video (Tested on Galaxy S23 Ultra)

Screen_Recording_20240315_165856_One.UI.Home.mp4

이 두가지 이슈와 관련있어 보입니다. Maybe related with this issue.
flutter/flutter#144893
flutter/flutter#139630

이 이슈와 관련있어보입니다.
flutter/flutter#139039

prerelease 버전 사용하시면서, 동시에 위젯에 forceHybridComposition 옵션을 true로 설정해주시면 임시적인 조치가 가능합니다.
단, 화면 회전시 지도가 멈추는 문제와 같은 다른 이슈가 생길 수 있으므로, 그 부분 참고하시기 바랍니다.

플러터 버전 3.19.0 네이버맵 버전 1.2.1
안드로이드/아이폰 모두 실 기기에서 테스트
release / debug 상관없이 재현 가능

실제 아이폰 기기에서도 동일현상 재현됩니다. 사용한 기기 : 아이폰12 (버전 16.3.1), 아이폰13 (버전17.3.1)

안드로이드에서 재현 시 1분간 기다리지 않아도 재현됩니다 : 홈화면 이동 -> 다른 앱 실행 -> 홈화면 이동 -> 네이버맵 적용한 앱 열기(resume)

네이버맵 1.0.2에서는 재현 안됨

플러터 버전 3.19.0 네이버맵 버전 1.2.1 안드로이드/아이폰 모두 실 기기에서 테스트 release / debug 상관없이 재현 가능

실제 아이폰 기기에서도 동일현상 재현됩니다. 사용한 기기 : 아이폰12 (버전 16.3.1), 아이폰13 (버전17.3.1)

안드로이드에서 재현 시 1분간 기다리지 않아도 재현됩니다 : 홈화면 이동 -> 다른 앱 실행 -> 홈화면 이동 -> 네이버맵 적용한 앱 열기(resume)

네이버맵 1.0.2에서는 재현 안됨

@Han-Sungyu iOS에서는 재현에 실패하였습니다. 가능하시다면 영상 첨부 부탁드려도 될까요?

flutter/flutter#146499
해당 이슈와도 연관되어 있는 것 같습니다.
증상 중, 회전하게 되었을 경우 정상 작동하는 것까지 동일합니다.

flutter main channel에서 해당 이슈 수정된 것으로 보입니다.
확인 후 다시 코멘트하도록 하겠습니다.

Flutter 3.22.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 5dcb86f68f (7 days ago) • 2024-05-09 07:39:20 -0500
Engine • revision f6344b75dc
Tools • Dart 3.4.0 • DevTools 2.34.3

이번 업데이트 후 위 환경에서 갤s24 백화현상 사라졌네요.

@rambozzang 보고 감사합니다.

navermap 생성자 파라미터
forceHybridComposition: true
설정하면 해결됩니다.