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