[Flutter] ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: XmlParserException

Angela Jeong·2024년 4월 19일
0

Flutter Troubleshooting

목록 보기
18/19

ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: XmlParserException

주로 XML 형식의 데이터를 해석할 때 예상치 못한 형식이나 구문을 만났을 때 발생하는 에러다. XML 형식의 이미지로는 SVG 파일이 있다.

즉 SVG를 사용하는 과정에서 오류가 생긴 것!

사실 트러블 슈팅이라고 하기에도 너무 민망하지만 나같은 사람이 있을 것 같아서 글을 쓰는 것이다. 아래 코드를 보면..

SvgPicture.asset(
           'assets/ic/speaker.png',
             width: 20,
             height: 20),

png 파일을 SvgPicture.asset으로 로드하려고 시도했다. 😆
Image.asset으로 바꿔주면 문제가 해결된다.
졸릴 땐 잠깐 쉬자..ㅎ



얘기가 나온 김에 플러터 개발 중에 많이 쓰는 SVG와 PNG에 대해 알아보자

SVG

  • SVG (Scalable Vector Graphics)
  • XML 기반의 벡터 이미지 포맷으로, 확대해도 품질이 떨어지지 않는 이미지를 표현할 수
    있다.
  • 앱 개발자는 기종별로 다양한 해상도를 대응해야하는데, PNG 파일 크기를 조정해가면서 사용할 경우 이미지 깨짐이 발생할 수 있고 PNG 파일을 해상도별로 나누어 사용하기에는 소모 비용이 너무 크다.
  • 이 때 사용할 수 있는 것이 바로 SVG 이미지이다.

*참고) XML(Extensible Markup Language)이란 데이터를 저장하고 전달하기 위해 사용되는 마크업 언어다.

PNG

  • PNG (Portable Network Graphics)
  • 래스터 그래픽 포맷으로, 픽셀 기반의 이미지다.
  • 다양한 색과 투명 백그라운드를 지원하는 특성 덕분에 다른 백그라운드 위에 그래픽을 얹는 경우 유용하다.
  • 이 형식은 무손실 압축을 사용하므로 이미지 디테일 손실이 전혀 없고 결과적으로 JPEG 형식보다 더 고품질 이미지를 생성하지만 파일 크기는 JPEG에 비해 더 커진다.



    출처:
    https://www.itworld.co.kr/news/98431#csidx1b0d5487b92879f8ce98a2486b6fa3c,
    [플머의 개발 연구소:티스토리] https://progdev.tistory.com/24

0개의 댓글