[flutter] flutter_svg에서 이미지 로딩 및 캐싱 방법은?
Flutter는 크로스 플랫폼 모바일 앱을 개발하기 위한 프레임워크로, 다양한 UI 요소를 제공합니다. 이미지를 로딩하고 표시하는 것은 앱 개발에서 핵심적인 부분 중 하나입니다. flutter_svg
패키지는 Scalable Vector Graphics (SVG) 이미지를 렌더링하기 위한 플러터 플러그인으로, 이미지의 다양한 크기에 대응할 수 있어 매우 유용합니다.
flutter_svg 패키지 설치
flutter_svg
패키지를 사용하려면, pubspec.yaml
파일에 다음과 같이 패키지를 추가해야 합니다:
dependencies:
flutter_svg: ^0.22.0
이후 터미널에서 flutter pub get
명령을 실행하여 패키지를 설치합니다.
이미지 로딩 및 캐싱
SVG 이미지를 로딩하고 캐싱하는 방법은 다음과 같습니다.
import 'package:flutter_svg/flutter_svg.dart';
// ...
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SVG Image'),
),
body: Center(
child: SvgPicture.network(
'https://example.com/image.svg',
placeholderBuilder: (BuildContext context) => CircularProgressIndicator(),
// 이미지가 로딩되는 동안 보여줄 위젯
// 캐싱을 위한 key를 지정하려면 다음과 같이 cacheKey 속성을 사용합니다.
// cacheKey: 'custom_cache_key',
),
),
);
}
SvgPicture.network
위젯을 사용하여 SVG 이미지를 네트워크에서 로드하고, placeholderBuilder
를 통해 이미지가 로딩되는 동안 보여줄 위젯을 설정할 수 있습니다. 또한, cacheKey
를 사용하여 캐시를 수동으로 관리할 수 있습니다.
결론
Flutter 앱에서 flutter_svg
패키지를 사용하여 이미지를 로딩하고 캐싱하는 방법에 대해 알아보았습니다. 이를 통해 화면에 SVG 이미지를 효율적으로 표시할 수 있으며, 네트워크에서 이미지를 로드하는 동안 사용자에게 로딩 상태를 시각적으로 표시할 수도 있습니다.