onScreenChanged method
Registers a route transition with optional pop semantics.
Implementation
void onScreenChanged(String? screenName, {bool isPop = false}) {
if (!_enabled) {return;}
final isIgnored = screenName == null ||
screenName == "PerflutterReportScreen" ||
screenName == "MainRoute" ||
screenName == "/";
if (!isPop && isIgnored) {
return;
}
if (isPop && _currentScreen != null && _currentScreen!.screenName == screenName) {
return;
}
if (_currentScreen != null) {
_currentScreen!.endTime = DateTime.now();
_currentScreen!.peakMemoryMb = _getProcessMemoryMb();
history = [...history, _currentScreen!];
_currentScreen = null;
notifyListeners();
}
if (isIgnored) return;
journey.add(screenName);
_currentScreen = ScreenPerformanceData(screenName);
_currentScreen!.peakMemoryMb = _getProcessMemoryMb();
notifyListeners();
}