Зависимости NSOperation действительно приводят к утечкам памяти?

На странице инфраструктуры github Bolts (для ios) список преимуществ BFTasks (по сути, обещаний) включает следующее утверждение о зависимостях NSOperation:

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

Это утверждение правильно?

1 ответ

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

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

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

Другие вопросы по тегам