flutter-smell-image-media

Identify and fix Flutter image loading performance smells with caching, placeholders, and decoding strategies.

Updated Nov 7, 2025
One-click install
npx skills add https://github.com/belluga/delphi-ai --skill flutter-smell-image-media
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: flutter-smell-image-media
Source: https://github.com/belluga/delphi-ai/tree/main/.cline/skills/flutter-smell-image-media
Command: npx skills add https://github.com/belluga/delphi-ai --skill flutter-smell-image-media

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Flutter apps with image-heavy interfaces often suffer from slow or janky image loading due to missing caching, placeholders, or inefficient decoding. This Skill helps identify these smells and guide fixes to improve perceived performance.

Core Features & Use Cases

  • Identify large images without caching or placeholders, causing flicker and delays.
  • Detect image widgets rebuilt frequently without memoization or keys, leading to jank.
  • Recommend best practices like cached image providers, placeholders, and proper error handling for robust UX.

Quick Start

Analyze a Flutter UI to locate image widgets that lack caching, placeholders, or memoization, and apply the recommended fixes.

Frequently Asked Questions about flutter-smell-image-media

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my Flutter app jank when loading images in a list?

Flutter app image jank often happens when widgets lack caching or placeholders. Identifying these performance smells allows you to apply cached providers and memoization, preventing unnecessary rebuilds and ensuring smooth scrolling.

How do I fix flicker and delays when loading remote images in Flutter?

To fix remote image flicker and delays in Flutter, implement cached image providers alongside placeholder and error widgets. This strategy ensures robust handling of large assets and improves perceived loading performance.

What is the best way to cache large assets for image-heavy Flutter interfaces?

The best way to cache large assets for image-heavy Flutter interfaces is using cached image providers and correct decoding strategies. This approach directly addresses performance smells by avoiding frequent widget rebuilds without memoization or keys.

How do I prevent unnecessary Flutter widget rebuilds for media previews?

You prevent unnecessary Flutter widget rebuilds for media previews by applying proper memoization and keys to image widgets. This technique stops jank and ensures efficient rendering of remote or asset images.

Does this approach work for both remote and local asset images in mobile apps?

Yes, this approach works for both remote and local asset images in mobile apps built with Flutter. It focuses on applying caching, placeholders, and correct decoding strategies across image-heavy interfaces and list items.