# Image List

An example that sets up a local HTTP server for serving one
image then creates a single flutter widget with five copies of requested
image and prints how long the loading took.

This is used in [$FH/flutter/devicelab/bin/tasks/image_list_reported_duration.dart] test.
