NSImage + управление памятью - PullRequest
2 голосов
/ 12 июля 2011
NSImage *randomImage = [[NSImage alloc] initWithContentsOfURL:imageURL];
[randomImage release];

Почему использование памяти все еще увеличивается?Что использует эту память?Я выпускаю объект NSImage.(нет, это не URL)

1 Ответ

2 голосов
/ 12 июля 2011

Изображения, вероятно, кэшируются.Взгляните на [img setCacheMode:]

Вы на самом деле пытались делать 500 раз или угадали на поведение?Я предполагаю, что кэш будет очищен на некотором верхнем пределе - может быть, 50 МБ - это не так уж много?

Важно отметить, что -release не эквивалентно free() или destroy(), дажеесли вы вызываете его сразу после alloc init, вы не должны предполагать, что объект был убран.Вот почему так сильно ненавистники -retainCount считают, что это хороший способ отладки управления памятью.

...