Closed pcantrell closed 8 years ago
I think we’re in the clear here. As far as I can trace through, in a low memory event, the cleanup touches every weak reference that might have been zombified.
We can reopen the inquiry if we observe unexplained memory leakage in the wild.
Swift’s open sourcing has revealed interesting details about how weak references work internally:
https://www.mikeash.com/pyblog/friday-qa-2015-12-11-swift-weak-references.html
The section of note:
Review Siesta’s memory management policies in light of this. Relevant sections of code:
https://github.com/bustoutsolutions/siesta/blob/master/Source/Support/ARC%2BSiesta.swift https://github.com/bustoutsolutions/siesta/blob/master/Source/Support/WeakCache.swift#L51-L52 https://github.com/bustoutsolutions/siesta/blob/master/Source/ResourceObserver.swift#L297-L303