`ImageProvider` — это абстрактный класс, реализуемый всеми источниками изображений в Flutter: локальными, сетевыми, файловыми и др. Используется, например, в `Image`, `DecorationImage`, `FadeInImage` и других виджетах.
Вы напрямую не используете `ImageProvider`, а передаёте одну из его реализаций: `AssetImage`, `NetworkImage`, `FileImage`, `MemoryImage` и т.д.
Основные реализации
AssetImage (ImageProvider)
Загрузка изображения из assets-папки проекта. Требует настройки в `pubspec.yaml`.
NetworkImage (ImageProvider)
Загрузка изображения по URL. Требует подключения к интернету.
FileImage (ImageProvider)
Загрузка изображения из локального файла на устройстве.
MemoryImage (ImageProvider)
Загрузка изображения из байтового массива в памяти (например, из API).
`AssetImage` требует предварительного указания пути к файлу в `pubspec.yaml`, иначе возникнет ошибка при загрузке.