2015-10-14 2 views
0

На github Bolts framework page (for ios), перечень преимуществ BFTasks (по существу, обещает) включает в себя следующее заявление о NSOperation зависимости:.Действительно ли зависимости NSOperation приводят к утечкам памяти?

«BFTasks освободить их зависимости NSOperation сильно сохраняет свою зависимость, поэтому если у вас есть очередь упорядоченных операций и После того, как они выполняются с помощью зависимостей, у вас есть утечка, потому что каждая операция сохраняется навсегда. BFTasks освобождает свои обратные вызовы, как только они запускаются, поэтому все очищается после себя, что сокращает использование памяти и упрощает управление памятью ».

Правильно ли это утверждение?

+0

пс. мне кажется странным, что [основной шаблон дизайна, рекомендованный яблоком] (https://developer.apple.com/videos/wwdc/2015/?id=226) приведет к такой утечке памяти –

ответ

0

NSOperationQueue освобождает все операции после завершения их зависимостей и зависимостей.

Так, например, если у меня есть NSOperations, называемый lastOperation, который имеет зависимость от 200 других операций, то после завершения последнего завершения все 201 NSOperations будет выпущено.

Если, однако, нет последней операции, которая зависит от других 200 NSOperations, то каждый из 200 NSOperations будет выпущен, как только они будут завершены.