J'ai quelques UIImageViews qui sont imbriqués dans UIViews, qui les regroupent. Ils sont la propriété d'un contrôleur de vue. Dès que la méthode -viewWillDisappear est appelée, je veux supprimer ces UIImageViews avec leurs UIViews, afin que la mémoire soit libérée.Comment puis-je libérer de la mémoire en toute sécurité en supprimant UIImageViews de l'écran?
J'appelle -release sur les UIViews qui contiennent les UIImageViews en tant que sous-vues. Rien d'autre ne possède les UIImageViews. Tout ce que j'ai est une variable d'instance à l'UIView qui regroupe les UIImageViews ensemble.
Donc quand je m'en écoule -release, le nombre de retain devrait devenir 0. Mais ce n'est pas une garantie que j'ai plus de mémoire libre, non? Donc, j'ai aussi mis myUIView = nil. Est-ce utile/utile? Comment libérer de la mémoire en toute sécurité?
« Ensuite, vous devez appeler self.imageView = nul dans votre' -viewWillDisappear » >>> vous ne vraiment pas le -viewDidDisappear? – Thanks
Désolé; en arrière. Tout ce qui implique l'abandon des vues doit être fait dans viewDidDisappear. Vous devriez attendre jusqu'à ce que vous soyez hors écran pour commencer à laisser tomber les choses. Si vous supprimez des composants de l'interface utilisateur dans viewWillDisappear, votre animation peut être gâchée (puisque vous animez entre viewWillDisappear et viewDidDisappear). –