A call to animationController?.dispose() is missing after line https://github.com/johnpryan/flutter_map/blob/master/lib/src/layer/tile_layer.dart#L951
This fails on Flutter 1.17.0-dev.3.1 with the following error:
════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following assertion was thrown while finalizing the widget tree:
_TileLayerState#7cdb2(tickers: tracking 3 tickers) was disposed with an active Ticker.
_TileLayerState created a Ticker via its TickerProviderStateMixin, but at the time dispose() was called on the mixin, that Ticker was still active. All Tickers must be disposed before calling super.dispose().
Tickers used by AnimationControllers should be disposed by calling dispose() on the AnimationController itself. Otherwise, the ticker will leak.
The offending ticker was: _WidgetTicker(created by _TileLayerState#7cdb2(tickers: tracking 0 tickers))
The stack trace when the _WidgetTicker was actually created was:
#0 new Ticker.<anonymous closure> (package:flutter/src/scheduler/ticker.dart:66:40)
#1 new Ticker (package:flutter/src/scheduler/ticker.dart:68:6)
#2 new _WidgetTicker (package:flutter/src/widgets/ticker_provider.dart:271:80)
#3 TickerProviderStateMixin.createTicker (package:flutter/src/widgets/ticker_provider.dart:202:34)
#4 new AnimationController (package:flutter/src/animation/animation_controller.dart:247:21)
#5 Tile.startFadeInAnimation (package:flutter_map/src/layer/tile_layer.dart:957:27)
#6 _TileLayerState._tileReady (package:flutter_map/src/layer/tile_layer.dart:838:12)
#7 Tile._tileOnLoad (package:flutter_map/src/layer/tile_layer.dart:972:16)
#8 ImageStreamCompleter.setImage (package:flutter/src/painting/image_stream.dart:437:25)
#9 MultiFrameImageStreamCompleter._emitFrame (package:flutter/src/painting/image_stream.dart:739:5)
#10 MultiFrameImageStreamCompleter._decodeNextFrameAndSchedule (package:flutter/src/painting/image_stream.dart:724:7)
<asynchronous suspension>
#11 MultiFrameImageStreamCompleter._handleCodecReady (package:flutter/src/painting/image_stream.dart:674:7)
#23 CachedNetworkImageProvider._loadAsync (package:cached_network_image/src/cached_network_image_provider.dart)
<asynchronous suspension>
#24 CachedNetworkImageProvider.load (package:cached_network_image/src/cached_network_image_provider.dart:45:14)
#25 ImageProvider.resolveStreamForKey.<anonymous closure> (package:flutter/src/painting/image_provider.dart:501:13)
#26 ImageCache.putIfAbsent (package:flutter/src/painting/image_cache.dart:359:22)
#27 ImageProvider.resolveStreamForKey (package:flutter/src/painting/image_provider.dart:499:80)
#28 ImageProvider.resolve.<anonymous closure> (package:flutter/src/painting/image_provider.dart:330:9)
#29 ImageProvider._createErrorHandlerAndKey.<anonymous closure>.<anonymous closure> (package:flutter/src/painting/image_provider.dart:460:26)
#30 SynchronousFuture.then (package:flutter/src/foundation/synchronous_future.dart:41:29)
#31 ImageProvider._createErrorHandlerAndKey.<anonymous closure> (package:flutter/src/painting/image_provider.dart:457:11)
#35 ImageProvider._createErrorHandlerAndKey (package:flutter/src/painting/image_provider.dart:449:16)
#36 ImageProvider.resolve (package:flutter/src/painting/image_provider.dart:327:5)
#37 new Tile (package:flutter_map/src/layer/tile_layer.dart:933:36)
#38 _TileLayerState._addTile (package:flutter_map/src/layer/tile_layer.dart:808:31)
#39 _TileLayerState._update (package:flutter_map/src/layer/tile_layer.dart:762:7)
#40 _TileLayerState._setView (package:flutter_map/src/layer/tile_layer.dart:603:7)
#41 _TileLayerState._resetView (package:flutter_map/src/layer/tile_layer.dart:573:5)
#42 _TileLayerState.initState (package:flutter_map/src/layer/tile_layer.dart:316:5)
#43 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4640:58)
#44 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
#45 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
#46 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5947:32)
I have not noticed this error before with an older Flutter version and since there seem to be no changes in the TileLayer that can cause this I assume this is a new check in Flutter.
A call to
animationController?.dispose()is missing after line https://github.com/johnpryan/flutter_map/blob/master/lib/src/layer/tile_layer.dart#L951This fails on Flutter 1.17.0-dev.3.1 with the following error:
I have not noticed this error before with an older Flutter version and since there seem to be no changes in the TileLayer that can cause this I assume this is a new check in Flutter.