renderInContext создает память, которая не освобождается сразу - PullRequest
3 голосов
/ 07 мая 2010

При отладке инструментов, использующих ObjectAlloc, я заметил, что для вызова renderInContext выделено 7 мегабайт памяти, но она никогда не освобождается. Когда я закомментирую вызов renderInContext, этого не происходит, и будущие вызовы renderInContext не будут увеличивать выделение памяти.

UIGraphicsBeginImageContext(contentHolder.bounds.size);
[contentHolder.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Есть ли способ заставить эту память освободиться?

1 Ответ

1 голос
/ 24 апреля 2012

Я узнал, как освободить память renderInContext.Просто запустите метод, вызывающий renderInContext, в главном потоке, и он автоматически освободит выделенную память.

...