Много ли пулов с автоматическим выпуском создано в приложении для iOS?

Сомневаюсь, когда автовыпущенный объект. КОГДА я нашел этот вопрос,

В принятом ответе потока приведено ниже объяснение выполнения цикла выполнения:

void int UIApplicationMain (int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName) {
    UIApplication *app = /* create app using principalClassName */;
    [app setDelegate:/* create delegate using delegateClassName */];
    while (![app shouldTerminate]) {
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
        event = [app getNextEvent];
        [app dispatchEvent:event];
        [pool drain];
    }
}

Так происходит выполнение цикла выполнения?

Означает ли это, что при каждом выполнении цикла выполнения будет создан и выпущен новый пул автозапуска.


person Krishnan    schedule 29.10.2012    source источник


Ответы (1)


да. В каждом цикле вы создаете новый пул и уничтожаете его.

Это объясняет как drain в среде с подсчетом ссылок эквивалентно release, поэтому он уничтожается. Следующий цикл, вы alloc, init еще один.

person Richard Taylor    schedule 29.10.2012