From fb7d2f92a25a6486f5cd6c09b9df0e7a809d9b03 Mon Sep 17 00:00:00 2001
From: "Kenzie (Schmoll) Davisson"
 <43759233+kenzieschmoll@users.noreply.github.com>
Date: Tue, 24 Aug 2021 10:10:51 -0700
Subject: [PATCH] Cancel timeline polling timer when the vmService is closed
 (#3304)

---
 .../lib/src/performance/performance_controller.dart          | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/packages/devtools_app/lib/src/performance/performance_controller.dart b/packages/devtools_app/lib/src/performance/performance_controller.dart
index 79e412e053b..cd67e9f28c1 100644
--- a/packages/devtools_app/lib/src/performance/performance_controller.dart
+++ b/packages/devtools_app/lib/src/performance/performance_controller.dart
@@ -215,6 +215,11 @@ class PerformanceController extends DisposableController
         }
       }));
 
+      autoDispose(serviceManager.onConnectionClosed.listen((_) {
+        _pollingTimer?.cancel();
+        _timelinePollingRateLimiter?.dispose();
+      }));
+
       // Load available timeline events.
       await _pullTraceEventsFromVmTimeline(shouldPrimeThreadIds: true);