iOS 内存管理浅谈

本文介绍了iOS内存管理中的引用计数机制,包括手动引用计数(MRC)和自动引用计数(ARC)。讨论了不要向已释放对象发送信息的问题,并深入探讨了循环引用及其解决方案,如使用弱引用。此外,还提到了Xcode检测循环引用的工具和方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

引用计数(Reference Count)是一个简单而有效的管理对象生命周期的方式。不管是Objective-C语言还是Swift语言,内存管理的方式都是基于引用计数的。

主要有两种方式:

  1. MRR/MRC(manual retain-release / manual reference counting),人工引用计数,对象的生成、销毁、引用计数的变化都是由开发人员来完成。
  2. ARC(Automatic Reference Counting),自动引用计数,只负责对象的生成,其他过程开发人员不再需要关心其销毁,使用方式类似于垃圾回收,但其实质还是引用计数。

什么是引用计数?原理是什么?

引用计数可以有效的管理对象的生命周期。
当我们创建一个新对象时,它的引用计数为1,当有新的指针指向这个对象时,它的引用计数加1,当某个指针不再指向这个对象时,引用计数减1,当引用计数为0时,说明没有指针指向该对象了,将对象销毁,回收内存。

在这里插入图片描述

关键字 :

  1. allocnewcopymutableCopy : 自身使用这些关键字产生对象,那么自
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白昼lx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值