Допустим, у меня есть цикл, возвращает кучу автоматически выпущенных объектов 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 ...
?