Можно ли в ARC по-прежнему создавать @autoreleasepool для циклов?

Допустим, у меня есть цикл, возвращает кучу автоматически выпущенных объектов NSData ...

NSData* bigData = ...
while(some condition) {
    NSData* smallData = [bigData subdataWithRange:...];
    //process smallData
}

В ARC следует ли мне по-прежнему оборачивать @autoreleasepool вокруг , в то время как con dition?

NSData* bigData = ...
@autoreleasepool {
    while(some condition) {
        NSData* smallData = [bigData subdataWithRange:...];
        //process smallData
    }
}

Причина, по которой я спрашиваю, заключается в том, что я вижу, что количество живых выделений в инструментах проходит через крышу для моих объектов NSData, которые вызывают метод dataWith ... в отличие от initWith ... метод. Когда я использую initWith ... , количество живых выделений намного меньше.

По возможности лучше предпочесть методы initWith ... ?

19
задан justin 9 November 2011 в 08:02
поделиться