Когда является основной пул автозапуска в Cocoa-touch слит?

#import 

int main(int argc, char *argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}

Главный метод вызывает release в пуле после выхода из приложения, которое случайно отправляет release всем объектам в пуле. Но поскольку автоматически выпущенные объекты, созданные внутри приложения, не остаются до тех пор, пока приложение не выйдет, в какой-то момент во время цикла выполнения пул либо сливается, либо освобождается (в контексте iPhone, слив == выпуск .. если мне не нужно быть поправили по этому поводу!). Но кто-нибудь знает наверняка, когда это произойдет? Казалось бы, логичным было бы слить пул в конце цикла выполнения, а новый - в начале следующего, но я не могу найти какой-либо окончательной информации по этому поводу. Вот обсуждение на яблоневых форумах, но это кажется весьма спекулятивным (не говоря уже спорным, к концу). Может ли кто-нибудь дать мне ответ, в идеале с доказательствами из документации или исходного кода (или даже экспериментальной программы)?

9
задан jakev 9 February 2011 в 23:52
поделиться