OC高效率52之以“自动释放池块”降低内存峰值

#import "ViewController.h"
#import "EOCPerson.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //自动释放池:autorelease pool。用于存放哪些需要稍后某个时刻释放的对象
    NSArray *databaseRecord ;
    NSMutableArray *people = [NSMutableArray new];
    for (NSDictionary *record in databaseRecord){
        //减小内存使用最大峰值
        @autoreleasepool {
            EOCPerson *person = [EOCPerson new];
            [people addObject:person];
        }
    
    }
    
    //自动释放池机制就像“栈stack”一样,系统创建好自动释放池之后,就将其推入栈中,而清空自动释放池,则相当于将其从栈中弹出。
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end


你可能感兴趣的:(OC高效率52之以“自动释放池块”降低内存峰值)