Кто звонит в авторизованный пул или кто его управляет. Я вызываю autorelease на моей переменной, которая находится внутри функции, но кто управляет этим автоответчиком, вызывающей функцией или функцией вызывающего абонента, или кто это делает?Кто звонит в авторизованный пул
ответ
Прежде всего, если вы говорите autorelease
, не делайте этого. Прекратите использование ручного управления памятью и используйте ARC. Он знает больше, чем вы.
Хорошо, допустим, вы do скажите autorelease
. Затем он помещается в пул авторезистов, и его счет сохранения остается увеличенным. Его количество счета будет уменьшаться снова, когда пул авторезистов сливается. Когда , что происходит, зависит от того, о каком авторекладе вы говорите.
Если вы на самом деле сделал это autorelease бассейн, то это истощает, когда вы говорите его
drain
. В ARC это происходит, когда мы подошли к концу блока директив@autoreleasepool{}
.Если это пул автозапуска по умолчанию, среда выполнения заботится об этом, и у вас нет знаний или контроля над этим вопросом. Вы можете быть уверены, что после того, как вы закончите код, будет отключен вызов, и приложение не работает, но об этом ничего не гарантировано.
Я не очень хорошо понимаю, почему downvotes. Это законный вопрос, связанный с правильным использованием авторекламы и ее использованием. (Хотя он * * включен в документацию ..) – user2864740