Skip to content

[Android, Engine issue] 지도 위젯이 있는 페이지에서 다른 페이지를 push할 경우, 트랜지션 후 지도 페이지가 잠시 깜빡이듯 노출됨 #84

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
shr8596 opened this issue Apr 27, 2023 · 13 comments

Comments

@shr8596
Copy link

shr8596 commented Apr 27, 2023

flutter naver map 1.0.1 버전을 사용하여 앱 개발 중입니다.

테스트 중 이슈가 발생하여 문의 드립니다

지도가 있는 화면(위젯트리 중 최상단에 지도가 위치)에서 다른 화면으로 이동하는 버튼이 몇 개 있는데

버튼 탭하여 다른 화면으로 이동 시 이전에 버튼 탭을 하여 뜬 화면이 잠깐 보였다 사라지는 현상이 있습니다

예를 들어 지도 화면이 있고 하단 바에 즐겨찾기 화면으로 가는 버튼(1번)과 회원 서비스로 가는 버튼(2번)이 있으면

1번을 탭 하여 즐겨찾기 화면으로 갔다가 다시 지도로 돌아온 후 2번을 탭하면

즐겨찾기 화면이 잠깐 떴다가 사라지는 현상입니다

여러 오류를 잡는 과정 중 라이브러리 문제일 수도 있겠다는 생각에

flutter naver map 1.0.1 라이브러리 하나만 추가한 새 프로젝트를 생성하고 간단한 화면과 버튼을 만들어

동일하게 테스트 한 결과 같은 이슈가 발생하였습니다

아직 출시 전 앱이라 새로 만든 프로젝트로 시연한 영상을 첨부합니다

Screen_Recording_20230427_163848.1.mp4

개발자님 도와주세요

@KimSungJin0
Copy link

#56
해당 대안을 적용하셨나요?
저도 마찬가지로 mainActivity 를 수정한 이후 같은 현상이 발생했습니다.

@note11g note11g changed the title 지도가 있는 화면에서 버튼 탭으로 다른 화면 이동 시 이전 화면이 잠깐 보였다 사라지는 현상 지도 페이지에서 새로운 페이지를 띄우면, 지도 페이지가 잠깐 보였다 사라지는 현상 Apr 30, 2023
@note11g note11g self-assigned this Apr 30, 2023
@note11g
Copy link
Owner

note11g commented Apr 30, 2023

@shr8596 @KimSungJin0 재현 단계가 다음중 어떤 것과 같을까요?
MapPage : 맵 화면,
Test1Page, Test2Page

  1. MapPage에서 open Test1Page -> close Test1Page -> re-open Test1Page
  2. MapPage에서 open Test1Page -> close Test1Page -> open Test2Page

@shr8596
Copy link
Author

shr8596 commented May 2, 2023

2번째 방법입니다

정확히 말씀드리면

MapPage(맵 화면), Test1Page, Test2Page, Test3Page

open 은 Navigator.push
close 는 기기에서 뒤로가기 버튼 터치

MapPage
-> open Test1Page -> close Test1Page
-> open Test2Page -> close Test2Page
-> open Test3Page -> close Test3Page

입니다

@KimSungJin0
Copy link

저의 경우는 1번의 흐름으로 작동합니다.
어떤 마커를 누르는지 따라 다른 값을 Test1Page 라우트에 보냅니다.

@note11g
Copy link
Owner

note11g commented Oct 21, 2023

*재현단계 수집 필요 (intent.putExtra("background_mode", "transparent") 때문 인 것으로 추정)

flutter/flutter#109226 와 연관 있는 것으로 추정

@note11g note11g changed the title 지도 페이지에서 새로운 페이지를 띄우면, 지도 페이지가 잠깐 보였다 사라지는 현상 [Android] 지도가 있는 페이지에서 다른 페이지를 push할 경우, 트랜지션 후 지도 페이지가 잠시 깜빡이듯 노출됨 Oct 21, 2023
@minseok-jeong-gn
Copy link

minseok-jeong-gn commented Nov 16, 2023

해결하신분 있으시면 코멘트 달아주시면 감사하겠습니다.

관련 쓰레드는 다음과 같습니다.

PS: 네이버지도 패키지 잘사용하고있습니다 . 감사합니다. @note11g

@karzia
Copy link

karzia commented Nov 29, 2023

https://spikez.tistory.com/490
workaround(일명 땜빵) 이긴 하지만 이렇게 수정 해서 사용자에게는 큰 문제 없게 했습니다.요..

지도에 PopScope 달아주고 거기서 pop 될때 제거하는 방식으로요.
관련 쓰래드들 찾아보면, 이 문제가 android에서만 발생하는 문제 같더군요 ㅠ_ㅠ
구글에서 만든 건데... 둘다...

@minseok-jeong-gn
Copy link

minseok-jeong-gn commented Nov 29, 2023

https://spikez.tistory.com/490
workaround(일명 땜빵) 이긴 하지만 이렇게 수정 해서 사용자에게는 큰 문제 없게 했습니다.요..

지도에 PopScope 달아주고 거기서 pop 될때 제거하는 방식으로요. 관련 쓰래드들 찾아보면, 이 문제가 android에서만 발생하는 문제 같더군요 ㅠ_ㅠ 구글에서 만든 건데... 둘다...

공감합니다. iOS는 flutter 3.13.x 버전 이후부터는 해결된것 같습니다.

한가지 더 문제는 platform view를 사용하였을때 앱이 크래시가 날수 잇는 문제도 있습니다.(Android only)

저는 지금은 NaverMap에서 takeSnapshot기능을 제공해줘서(RepaintBoundary 로는 Platform View 의 스크린샷? 을 뜰수가 없는 문제가 있음.) 화면전환 전에 takeSnapshot으로 현재 네이버 지도로 렌더링된 이미지로 교체하는 식으로 진행해서 app crash는 막았습니다.

하지만 여전히 이미 이동하려고 하는 화면이 platform view를 가지고 있다면 화면 깜빡임 현상은 막을 수 없는것 같습니다.

  • 저는 현재 화면 A에 네이버 지도위젯이 있고, 화면 B에도 네이버 지도 위젯이 있을때, 화면 B에서 화면 A로 이동할때나 화면 A에서 화면 B로 이동할때 동일한 문제가 발생합니다.

@note11g
Copy link
Owner

note11g commented Jan 17, 2024

@minseok-jeong-gn
실제로 flutter_naver_map 라이브러리를 사용하시면서 crash를 경험하셨다면, 별도 이슈 오픈을 부탁드리겠습니다.

@note11g
Copy link
Owner

note11g commented Jan 17, 2024

해당 문제는 Flutter의 Android 플랫폼에서 hybrid composition을 사용할 때의 공통적인 문제점인 것으로 보입니다. (flutter/flutter/113167)
#152 에도 해당 현상을 기록해두었습니다.
감사합니다.

@note11g note11g changed the title [Android] 지도가 있는 페이지에서 다른 페이지를 push할 경우, 트랜지션 후 지도 페이지가 잠시 깜빡이듯 노출됨 [Android, Engine issue] 지도 위젯이 있는 페이지에서 다른 페이지를 push할 경우, 트랜지션 후 지도 페이지가 잠시 깜빡이듯 노출됨 Jan 17, 2024
@note11g note11g closed this as completed Feb 17, 2024
@note11g
Copy link
Owner

note11g commented Feb 17, 2024

1.2.0 버전에서 수정되었습니다. 자세한 내용은 #152 를 참고하세요.

@minseok-jeong-gn
Copy link

minseok-jeong-gn commented Feb 17, 2024

혹시테스트한 플루터버전이 3.19 일까요? @note11g

@note11g
Copy link
Owner

note11g commented Feb 17, 2024

@minseok-jeong-gn 네, 맞습니다.
flutter 3.19.0, flutter_naver_map 1.2.0 기준입니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants