[flutter] cupertino_icons 패키지의 아이콘 로딩 속도 최적화 방법

flutter에서는 다양한 위젯을 사용하여 iOS와 같은 외관을 가진 앱을 만들 수 있습니다. 이때, cupertino_icons 패키지를 사용하면 iOS 아이콘들을 쉽게 사용할 수 있습니다. 하지만 대량의 아이콘을 로딩할 때는 성능이 저하될 수 있습니다. 이러한 성능 문제를 최적화하는 방법에 대해 알아보겠습니다.

아이콘 로딩 속도 최적화 방법

  1. 적게 사용되는 아이콘들을 미리 로딩하기: preloadIcons 메서드를 사용하여 앱이 시작될 때 필요한 아이콘들을 미리 로딩할 수 있습니다. 이렇게 하면 아이콘을 실제로 사용하기 전에 미리 로딩하여 로딩 속도를 향상시킬 수 있습니다.

    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Future.wait([
        precachePicture(
          ExactAssetPicture(
            SvgPicture.svgStringDecoder, // Replace with your method of parsing the SVG string.
            'assets/icons/icon1.svg',
          ),
          null, // No resize needed.
        ),
        precachePicture(
          ExactAssetPicture(
            SvgPicture.svgStringDecoder, // Replace with your method of parsing the SVG string.
            'assets/icons/icon2.svg',
          ),
          null, // No resize needed.
        ),
      ]);
    
      runApp(MyApp());
    }
    
  2. Nut-Cracking: cupertino_icons 패키지는 모든 아이콘의 코드를 포함하고 있으므로, 성능을 향상시키기 위해 미사용 아이콘 코드를 제거하는 방법입니다. 이를 “Nut-Cracking”이라고 합니다.

    flutter pub get
    
    // pubspec.yaml 파일의 dependencies 내에서 cupertino_icons 패키지를 아래와 같이 수정합니다.
    dependencies:
      cupertino_icons: ^1.0.3+4
      nut_cracker: ^0.1.0
    
    // lib 폴더에서 미사용 아이콘 코드를 제거합니다.
    flutter pub run nut_cracker
    

위의 방법들을 사용하여 cupertino_icons 패키지의 아이콘 로딩 속도를 최적화할 수 있습니다. 앱의 성능을 향상시키기 위해 이러한 최적화를 적용해보세요.

참고: