/// <summary> /// Closes this layer. /// </summary> public override void Close() { base.Close(); try { if (_timer != null) { _timer.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite); _timer.Dispose(); _timer = null; } lock (_cache) { _cache.OnRemove = null; _cache.Clear(); } _cache = null; lock (_stack) { // make sure the tile range is not in use. _stack.Clear(); } _stack = null; // flushes all images from the cache. _nativeImageCache.Flush(); } catch (Exception ex) { // don't worry about exceptions here. OsmSharp.Logging.Log.TraceEvent("LayerTile", Logging.TraceEventType.Error, ex.Message); } }
/// <summary> /// Closes this layer. /// </summary> public override void Close() { base.Close(); lock (_cache) { _cache.OnRemove = null; _cache.Clear(); } _cache = null; // flushes all images from the cache. _nativeImageCache.Flush(); // closes the connection. _connection.Close(); }