하루한줄 코딩일기

[안드로이드] 네이버 지도 API- 화면 전환 후 복귀 시 검은 화면 현상 본문

Dev./Android

[안드로이드] 네이버 지도 API- 화면 전환 후 복귀 시 검은 화면 현상

jjuha 2021. 9. 5. 22:50

📃 지도 화면 복귀 시 검은 화면 현상

지도 화면에서 플로팅 액션 버튼을 눌러 다른 화면으로 전환한 후, 하드웨어의 백 버튼을 눌러 복귀했을 때 지도가 로딩되지 않고 검은 화면이 뜨는 현상이 발생했다.

 

 

👊 onStop 메소드 오버라이딩 하지 않기

비슷한 사례가 거의 없는 것 같아 서치로는 별 소득을 얻을 수 없었고, 액티비티의 생명주기를 참고해 디버깅하면서 어느 주기에서 문제가 발생하는지 알아보았다.

참고: 활동 수명 주기에 관한 이해

https://developer.android.com/guide/components/activities/activity-lifecycle

 

onStop()은 다른 액티비티가 화면을 완전히 가려 본 액티비티가 보여지지 않을 때 호출된다. 따라서 onStop 메소드는 앱이 사용자에게 보이지 않는 동안 필요하지 않은 리소스를 해제하거나 조정하는 부분이 되겠다.

혹시 이 부분에서 지도를 불러오는 데 필요한 어떠한 소스를 중단시키는 걸까? 싶어서 오버라이딩한 onStop() 메소드를 주석처리 해봤다. 그랬더니 다른 화면으로 갔다가 돌아와도 까만 화면 없이 지도가 원래 상태 그대로 있었다!

 

결론: 맵 뷰에서 onStop() 콜백을 호출하지 않으면 해결된다.

화면에 보여지지 않는 동안에도 모든 리소스가 실행되고 있는 것이 매우 비효율적인 것 같지만, 지금까지 찾은 유일한 해결책이다. 나중에 다른 해결책을 찾는다면 업데이트하러 오겠어요 😉

Comments