There are answers related to this topic but they offer workarounds rather than explanations.
Why can't an Image be used where an ImageProvider is required? Conceptually they sound the same to me.
child: new CircleAvatar(
backgroundImage: NetworkImage("https..."), // works
backgroundImage: Image.asset('images/image.png'), // error
),
The error generated by trying to use an image directly is:
error: The argument type 'Image' can't be assigned to the parameter type 'ImageProvider'.