oc中的内存管理,是靠引用计数器,只要计数器变成0就会回收
可以调用returnCount方法来返回计数器数
调用这个对象的copy,retain,new,alloc方法都可以将引用计数器+1
当调用这个对象的release方法这个方法可以将引用计数器-1
当一个对象快要被回收的时候会调用一个析构函数dealloc方法。一般要使用的时候,这个方法都会被复写下
当要复写这个dealloc方法的时候,最后还是要调用一下父类的dealloc方法的,感觉和重定义初始化方法要调用父类的init一样
-(void)dealloc{
//insert your code;
[super dealloc];
}
野指针就是访问了一块访问了一个不属于自己得内存,当堆空间被释放的时候,我们还用栈空间的指针来访问这块地址就会出错,(其中用什么来验证其指向的内存不属于自己的,还不了解)
当[[[Student alloc]init]autorelease]这是指将这个对象放到了自动释放池子,
当这个自动释放池被销毁的时候,池子里面的所有的对象都会调用一次release方法。
原文:http://www.cnblogs.com/liyang31tg/p/3608059.html