黑马程序员--OC-内存

------<a href="http://write.blog.csdn.net/postedit">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

                                            第十讲   OC内存

             01-内存分区

                         堆区              栈区             BSS段           数据区              代码区

                       内存地址:地址中的内存编号。

 

              02-内存管理

                       类对象放在堆中,堆手动回收。

                       局部变量放在栈中,不在作用域,自动回收

     

              03-引用计数器

                      1 、 占有4个字节,一个对象的引用计数器值为0时,对象占用的内存就会被系统回收。

                      2、  retain:使引用计数器+1(retain)方法返回对象本身。

                      3、  release:可以使引用计数器-1。

                      4、  retaincount:获得当前的引用计数器值。

 

               04-对象的销毁

                      1、当对象计数器为0时,那么它将销毁,内存被系统回收。

                      2、当一个对象被销毁时,系统会自动向对象发送一条dealloc消息。

                      3、一旦重写了dealloc方法,必须调用[super dealloc],并且放在最后调用。

            

               05-野指针和空指针

                      1、野指针:指向僵尸对象(不可用内存)的指针

                      2、Exc_BAD_AccEss:访问了一块的内存(已经被回收,已经不可用的内存)。

                      3、僵尸对象:所占用内存已经被回收的对象,僵尸对象不能在使用。

                      4、空指针:没有指向任何东西的指针(存储的东西是nil,Null,0),给空指针发消息不会报错。

 

                06-ARC

                     xcode中的ARC会自动释放在栈中的内存。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值