processForLeaks method
void
processForLeaks(
- int index
)
Implementation
void processForLeaks(int index) async {
if (_weakReferenceList.isEmpty) return;
if (_gcRunning) return;
_gcRunning = true;
List<int> keysToBeRemoved = [];
Iterator<int> iterator = _weakReferenceList.keys.iterator;
while (iterator.moveNext()) {
int currentKey = iterator.current;
if (currentKey > index) {
break;
}
WeakReference weakReferenceItem = _weakReferenceList[currentKey]!;
if (weakReferenceItem.target != null) {
AppxiomcorepluginPlatform.instance.memoryLeakReported(
weakReferenceItem.target.runtimeType.toString(),
weakReferenceItem.target.toString());
}
keysToBeRemoved.add(currentKey);
}
for (var keyToBeRemoved in keysToBeRemoved) {
_weakReferenceList.remove(keyToBeRemoved);
}
_gcRunning = false;
}