Авто-релиз с элементами в UITableViewCell - утечка памяти - PullRequest
1 голос
/ 15 июня 2010

В моем методе cellForRowAtIndexPath для делегата UITableView я выделяю ячейку, если она не существует, и в этой ячейке я создаю новый счетчик активности, например:

UIActivityIndicatorView *actView = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray ] autorelease];

Я использую утечки для обнаружения утечек памяти в моей программе, и по какой-то причине это становится утечкой, даже несмотря на то, что она автоматически выпускается. Сама ячейка также автоматически высвобождается. Кто-нибудь имел опыт работы с автоматически высвобождаемыми переменными, возникающими как утечки в инструменте Leaks, и как решить эти проблемы?

Это только утечка, если я добавлю его в contentView ячейки. Если я просто создаю его и позволяю ему быть, инструмент Leak не сообщает о каких-либо проблемах.

Кроме того, если это помогает, это история, которую Leaks отображает для этой ячейки памяти. Похоже, в какой-то момент появляется дополнительное сообщение о сохранении? Это не делается в моем коде.

alt text

Ответы [ 2 ]

0 голосов
/ 10 июля 2010

Я пришел к выводу, что это из-за симулятора - я не получаю эти утечки на реальном устройстве.

0 голосов
/ 15 июня 2010

Выпускается ли содержащая клетка?

Если нет, вы когда-нибудь удаляли экземпляр UIActivityIndicatorView из содержащей ячейки?

...