isZombieInstance function
Verifica si una instancia es "zombie" y ejecuta su limpieza.
Un objeto se considera "zombie" cuando:
- Ya no está en la lista de objetos activos (_notZombieList)
- No ha sido previamente marcado como zombie (_zombieList)
Cuando se detecta un zombie:
- Se ejecuta la función de limpieza
- Se marca como zombie procesado
- Se evita su limpieza duplicada
Parámetros:
instance: El objeto a verificarreleaseFn: Función de limpieza a ejecutar si es zombie
Retorna:
truesi el objeto es zombie (ya sea procesado o nuevo)falsesi el objeto sigue activo
Implementation
bool isZombieInstance({
required Object instance,
required Function() releaseFn,
}) {
if (_zombieList.containsKey(instance.hashCode)) {
return true;
}
if (!_notZombieList.containsKey(instance.hashCode)) {
releaseFn();
_zombieList[instance.hashCode] = true;
return true;
}
return false;
}