release method

void release(
  1. SfSymbolConfig config
)

Drops a reference taken by acquire or acquireCached.

Implementation

void release(SfSymbolConfig config) {
  final entry = _entries[config];
  if (entry == null) return;

  entry.refCount--;
  if (entry.refCount > 0) return;

  entry.refCount = 0;
  if (config.isAnimated) {
    // An animating symbol keeps a display link running, so holding it for
    // reuse would burn frames drawing something nobody is looking at.
    _dispose(config);
    return;
  }
  _unused.add(config);
  _evict();
}