Oltre alla risposta di gnasher729
, anche iOS ha
un metodo delegato su UIViewController
chiamato didReceiveMemoryWarning()
.
Discussion
Your app never calls this method directly. Instead, this method is
called when the system determines that the amount of available memory
is low.
You can override this method to release any additional memory used by
your view controller. If you do, your implementation of this method
must call the super implementation at some point.
Sfortunatamente, il 99% delle implementazioni che ho visto sono questo stub predefinito:
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
È un po 'uno tragedia dello scenario comune . Ogni app trarrebbe vantaggio dall'implementazione corretta di questo comportamento (a causa di una minore possibilità di arresto forzato o di impaginazione), ma ciascuna app beneficia individualmente non implementandola (tempo di risposta più veloce, poiché non è necessario ricalcolare / ricaricare le risorse eliminate ).