内存管理

栈区的存放局部变了 由系统管理出{}后内存会被系统回收

堆区 存放对象 动态分布 不会随便被回收 需要手动释放所以oc对象有自己的引用计数器是一个整数 占有4个字节存储空间当减为0时别回收 java 是垃圾回收机制 没用既回收

当alloc new copy 创建 对象时 新对象引用计数就是1

给对象发送一条retain 消息 引用技术加1;release -1;retainCount 当前引用计数多少

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

野指针 指向僵尸对象(不可以内存)的指针 [ p release] p 所指向了对象堆区已被回收,release访问了一块不可使用的内存空间 EXD_BAD_ACCESS(code=1 address=........) 访问一块坏内存 处理做法 p=nil ,oc中不存在空指针错误,给空指针发送消息,不报错; 

   

posted @ 2015-08-27 10:29  谢小锋  阅读(142)  评论(0)    收藏  举报