разница между ARC и MRC

я путаю с материалом Apple.

3 способа управления памятью:

  1. автоматический подсчитывать referance.
  2. ручной подсчет ссылок.
  3. фигня полуботинки.

мое сомнение в том, в чем разница между автоматическим подсчетом ссылок и ручным подсчетом ссылок.

может кто-нибудь объяснить мне ?

2 ответов


в АРК вам не придется-релиз/autorelease память, выделенную вами, где, как в ручном режиме, вы должны позаботиться об этом. например, ручной корпус

-(void)someMethod
{ 
    NSMutableArray *arr = [[NSMutableArray alloc] init];
    //use array
    [arr release]; //when array is in no use
}

случае дуги

-(void)someMethod
{
    NSMutableArray *arr = [[NSMutableArray alloc] init];
    //use array
}

в ARC ОС следит за управлением памятью, поэтому вам не нужно беспокоиться о выпуске объектов. Это довольно аккуратно для начинающих. В то время как в ручном подсчете вам придется отслеживать освобождение памяти, и если вы не сделаете это правильно, вы в конечном итоге сбой приложения. ARC и MRC доступны в ios, где сбор мусора ограничен MAC-OSX, надеюсь, это поможет. Индер привел хороший пример.