2

UIApplicationMain外側の自動解放プール (の周りと内側)が必要な理由がわかりませんNSApplicationMain。とにかくプロセスが終了すると、割り当てられたすべてのメモリが解放されませんか?

たとえば、次のようにするとどうなりますか。

@import Foundation;

int main(int argc, const char *argv[]) {
    for (NSUInteger i = 0; i < NSUIntegerMax; i++) {
        NSArray *anArray = [NSArray array];
    }

    return EXIT_SUCCESS;
}
4

2 に答える 2

-1

プロセスが終了すると、すべてのメモリが解放されます。しかし、自動解放プールのポイントは、その前にメモリが解放されるようにすることです。(あなたの例では、メモリを「放棄」しています-割り当ててから割り当てを忘れています。)そうしないと、システムがプロセスにそれ以上割り当てられなくなるまでメモリをリークしているだけです。その場合、プロセスは強制終了されます.

于 2013-10-27T17:35:25.903 に答える