Thực tiễn tốt là đặt nhiều đối tượng được tự động phát hành tự động trả về trong một autoreleasepool tại hành động lặp. Tôi tìm thấy ai đó đặt @autoreleasepool trong vòng lặp nhưng những người khác đặt vòng lặp trong @autoreleasepool.@autoreleasepool trong vòng lặp hoặc vòng lặp trong @autoreleasepool?
1:
while ([rs next]) {
@autoreleasepool {
NSDictionary *dict = [self dictFromXX];
//...
}
}
2:
@autoreleasepool {
while ([rs next]) {
NSDictionary *dict = [self dictFromXX];
//...
}
}
Đó là tốt hơn? hoặc bất kỳ sự khác biệt nào giữa mã 1 và 2?
Cảm ơn!
Vòng lặp phải ở bên trong autoreleasepool 2. là chính xác – Charan
Hãy xem [Quản lý bộ nhớ với mục tiêu C/Cocoa/iPhone] (http://memo.tv/archive/memory_management_with_objective_c_cocoa_iphone). –