[Android] cancelDraw null isViewVisible: true 오류 (SplashScreen이 비정상적으로 그려지거나, SplashScreen에서 Freezing이 발생하는 경우)

sumong·2023년 1월 8일
0

Flutter 오류 대응

목록 보기
9/15
post-thumbnail

참고 : https://github.com/flutter/flutter/issues/93668

해결책

AndroidManifest.xml.MainActivity activity 태그 안에 아래의 meta-data 태그를 넣으면 됩니다.

<meta-data
  android:name="io.flutter.embedding.android.SplashScreenDrawable"
  android:resource="@drawable/launch_background"
/>

해결책에 대한 설명

  • 위 태그는 원래 기본적으로 생성되어 있는 태그이나, 버전에 따라 지워져 있는 경우가 있을 수 있습니다. 그럴 경우 위 해결책을 적용하시면 됩니다.
  • 참고로, 위의 meta-data 태그를 지우게 되면 안드로이드 앱 빌드 시 종종 나타나는 ‘Flutter splash screen deprecated error’가 나타나지 않게 됩니다. (정확히는, 저 코드를 둔 채로 빌드하면 빌드 완료 직전에 SplashScreenDrawable이 deprecated되었다는 메세지가 나오는데, 위 meta-data 태그를 지우면 해결됩니다.)
    그러나, 경험상 위 메타데이터를 지우면 일부 폰에서 SplashScreen이 비정상으로 로딩되거나, SplashScreen에서 Freezing이 발생하는 경우가 있습니다. 따라서 deprecated 메세지가 보기 싫더라도 그냥 놔 두는 게 더 좋다고 생각합니다.
profile
Flutter 메인의 풀스택 개발자 / 한양대 컴퓨터소프트웨어학과, HUHS의 화석

0개의 댓글