anchor.diff:    /// Controller attached to the chart.
     AndroidChartController get _chartController => widget.chartController;
   
  +  bool _initialized = false;
  +
     /// Controller for managing memory collection.
  -  MemoryController _memoryController;
  +  late MemoryController _memoryController;
   
     MemoryTimeline get _memoryTimeline => _memoryController.memoryTimeline;
  -
  -  ColorScheme colorScheme;
   
     @override
     void initState() {
  
positive.code: }
  
  class MemoryAndroidChart extends StatefulWidget {
    const MemoryAndroidChart(this.chartController, {Key key}) : super(key: key);
  
    final AndroidChartController chartController;
  
  
negative.code:   void didChangeDependencies() {
      super.didChangeDependencies();
  
      final newMemoryController = Provider.of<MemoryController>(context);
      if (_initialized && _memoryController == newMemoryController) return;
      _memoryController = newMemoryController;
      _initialized = true;
  
      cancelListeners();
  
      setupTraces();
      _chartController.setupData();
  
      if (_memoryTimeline.sampleAddedNotifier.value != null) {
        addAutoDisposeListener(_memoryTimeline.sampleAddedNotifier, () {
          _processHeapSample(_memoryTimeline.sampleAddedNotifier.value!);
        });
      }
    }
  
    @override
    Widget build(BuildContext context) {
      if (_chartController.timestamps.isNotEmpty) {
        return Container(
          child: Chart(_chartController),
          height: defaultChartHeight,
        );
      }
  
      return const SizedBox(width: denseSpacing);
  