Added a benchmark for ImageCache (#33814)

* Add an image cache benchmark for a monochrome image

diff --git a/dev/benchmarks/complex_layout/pubspec.yaml b/dev/benchmarks/complex_layout/pubspec.yaml
index 3b0c7e4..5cd007c 100644
--- a/dev/benchmarks/complex_layout/pubspec.yaml
+++ b/dev/benchmarks/complex_layout/pubspec.yaml
@@ -15,7 +15,7 @@
   #   //packages/flutter_tools/lib/src/commands/update_packages.dart
   # and run
   #   flutter update-packages --force-upgrade
-  flutter_gallery_assets: 0.1.8
+  flutter_gallery_assets: 0.1.9+2
 
   async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
   charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
@@ -82,4 +82,4 @@
     - packages/flutter_gallery_assets/people/square/ali.png
     - packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
 
-# PUBSPEC CHECKSUM: f69a
+# PUBSPEC CHECKSUM: e4f8
diff --git a/dev/benchmarks/macrobenchmarks/pubspec.yaml b/dev/benchmarks/macrobenchmarks/pubspec.yaml
index f7f56ec..8118b4a 100644
--- a/dev/benchmarks/macrobenchmarks/pubspec.yaml
+++ b/dev/benchmarks/macrobenchmarks/pubspec.yaml
@@ -15,7 +15,7 @@
   #   //packages/flutter_tools/lib/src/commands/update_packages.dart
   # and run
   #   flutter update-packages --force-upgrade
-  flutter_gallery_assets: 0.1.8
+  flutter_gallery_assets: 0.1.9+2
 
   async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
   charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
@@ -79,4 +79,4 @@
 flutter:
   uses-material-design: true
 
-# PUBSPEC CHECKSUM: f69a
+# PUBSPEC CHECKSUM: e4f8
diff --git a/dev/devicelab/bin/tasks/flutter_gallery__image_cache_memory.dart b/dev/devicelab/bin/tasks/flutter_gallery__image_cache_memory.dart
new file mode 100644
index 0000000..c3bc789
--- /dev/null
+++ b/dev/devicelab/bin/tasks/flutter_gallery__image_cache_memory.dart
@@ -0,0 +1,17 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'dart:async';
+
+import 'package:flutter_devicelab/framework/framework.dart';
+import 'package:flutter_devicelab/framework/utils.dart';
+import 'package:flutter_devicelab/tasks/perf_tests.dart';
+
+Future<void> main() async {
+  await task(MemoryTest(
+    '${flutterDirectory.path}/examples/flutter_gallery',
+    'test_memory/image_cache_memory.dart',
+    'io.flutter.demo.gallery',
+  ).run);
+}
diff --git a/dev/devicelab/manifest.yaml b/dev/devicelab/manifest.yaml
index 9392670..02b57ce 100644
--- a/dev/devicelab/manifest.yaml
+++ b/dev/devicelab/manifest.yaml
@@ -527,6 +527,13 @@
     stage: devicelab
     required_agent_capabilities: ["linux/android"]
 
+  flutter_gallery__image_cache_memory:
+    description: >
+      Measures memory usage for a list of large red squares in smaller containers.
+    stage: devicelab
+    required_agent_capabilities: ["linux/android"]
+    flaky: true
+
   analyzer_benchmark:
     description: >
       Measures the speed of Dart analyzer.