iOS内存管理

1、内存管理原因:
(1)内存溢出 内存不够用
(2)野指针异常 指针操作了不属于自己的存储空间,指针操作已经销毁的对象
2、内存管理的方式
(1)垃圾回收 OC支持,mac开发支持,iOS开发不支持
(2)MRC iOS开发 手动操作引用计数,手动调用控制引用计数的方法
(3)ARC iOS开发 自动操作引用计数,编译器调用引用计数的方法
3、内存管理的机制
(1)引用计数 标记程序运行期间,对象被引用的次数
(2)通过操作引用计数,控制对象是否被销毁。
(3)当引用计数应该减为0时,对象自动被销毁,存储空间被回收
4、操作引用计数的方法
(1)造成引用计数增加
alloc 当前对象 0 -> 1
retain 当前对象 加1
copy 原来的对象 不变 新的对象 0 -> 1
(2)造成引用计数减少
release 当前对象 立即减1
autorelease 当前对象 延迟减1 非立即
5、销毁对象
dealloc 引用计数将要减为0时,对象自动调用
(1)继承自NSObject,可以不实现,编译器默认实现
(2)如果实现dealloc方法

{
      代码
      [super dealloc];
}```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容