release method

void release(
  1. List queryKey
)

Called by HopeBuilder on dispose. Decrements the reference count — disposes the controller only when no widgets are listening to this key anymore.

Implementation

void release(List<dynamic> queryKey) {
  final key = _controllerKey(queryKey);
  final count = (_refCounts[key] ?? 0) - 1;

  if (count <= 0) {
    _controllers[key]?.dispose();
    _controllers.remove(key);
    _refCounts.remove(key);
  } else {
    _refCounts[key] = count;
  }
}