didReceiveMemoryПредупреждение - PullRequest
0 голосов
/ 19 мая 2011

Что должно быть в моем didReceiveMemoryWarning?Я не вижу ничего, что я могу выпустить, все еще в памяти.У меня есть свойство, настроенное для моего managedObjectContext, вот и все для ivars.

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIBarButtonItem *calendar = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"calendar.png"]style:UIBarButtonItemStyleBordered target:self action:@selector(viewCal)];
    self.navigationItem.rightBarButtonItem = calendar;
    [calendar release];

    UIBarButtonItem *settings = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"gears.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(viewSettings)];
    self.navigationItem.leftBarButtonItem = settings;
    [settings release];

    [SHK flushOfflineQueue];
    [self clearNullWorkouts];
}


- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Relinquish ownership any cached data, images, etc that aren't in use.
}

1 Ответ

2 голосов
/ 19 мая 2011

Что в SHK делает вас flushOfflineQueue и что делает clearNullWorkouts? Это могут быть те виды ресурсов, которые вам необходимо освободить во время didReceiveMemoryWarning. Также только потому, что didReceiveMemoryWarning срабатывает, это не означает, что вам нужно что-либо очищать, например, если вы по-прежнему отображаете представление, воспроизводите аудиофайл, на который есть ссылки, и т. Д. При вызове вам нужно выпустить такие вещи, как изображения, которые не отображаются, звук, который не воспроизводится, и т. д. После вызова didReceiveMemoryWarning для контроллеров представления, которые не отображаются, будет вызываться viewDidUnload, и именно здесь вы установите все IBOutlets / программные представления на ноль и отпустите больше. объем памяти. Apple обсуждает это в Руководстве по программированию управления памятью .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...