J'essaie de suivre la recommandation d'Apple de gérer les avertissements de faible mémoire (trouvés dans la session 416 de vidéos WWDC 2009) en libérant les ressources utilisées en libérant mon objet dataController (référencé dans mon délégué app) qui contient un grand nombre de chaînes pour la lecture d'un plist:la libération ne libère pas de mémoire en condition de mémoire faible
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
[_dataController release];
_dataController = nil;
NSLog([NSString stringWithFormat:@"applicationDidReceiveMemoryWarning bottom... retain count:%i", [_dataController retainCount]]);
}
Mais quand je lance ObjectAlloc dans les instruments et simulent une faible mémoire Condition, je ne vois pas une diminution de la mémoire utilisée par mon application même si je vois les instructions NSLog écrites et le nombre de retenue est nul pour l'objet. Je transmets des références au délégué de l'application à certains des contrôleurs de vue. Mais le code ci-dessus libère la référence à l'objet _dataController (contenant les données de plist) donc je m'attendrais à ce que la mémoire soit libérée.
Toute aide serait appréciée.