iOS开发进阶(iOS开发实战:理解内存管理)summary

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发进阶(iOS开发实战:理解内存管理)summary相关的知识,希望对你有一定的参考价值。

1、引用计数

什么是引用计数、

引用计数可以有效的管理对象生命周期,它可以帮我们记录一个对象有多少指针指向,进行很好的内存的管理!!

例子:

假设在一个办公室里面只有一个照明设备,第一个上班进入的人把灯打开,然后持续的进来咯两个人,如果我们没有记住现在在办公室有多少人,而第一个人离开的时候把灯直接关掉,会导致另外两个人没有照明,进行不了工作!!

所以引用计数就是把这些人都记录下来,办公室现在究竟还有多少人,如果有人在的时候依然照明,一直直到没有人的时候才把灯关掉!!这样可以当有人时候没有照明的问题,从而进行更好的工作!!

不要向一个已经释放的对象发送消息

如果向一个释放的对象发送消息:有时候也会出现程序崩溃的情况,当object对象所占的内存被复用的时候,就会出现程序崩溃的情况。

循环引用:

一个使用weak一个使用strong问题:
{
现在有A、B两个对象
然后A持有对象B、B持有A
因为对象A的销毁依赖对象B的销毁,而对象B依赖对象A的销毁,即使外面没有任何指针指向她们,它们也无法释放,造成强引用循环的情况下要在合理的一方使用弱引用
}

 

只不过在ARC中我们就不需要手动的去管理这些问题咯,因为系统会帮们在需要释放的时候帮我们做释放!!

以上是关于iOS开发进阶(iOS开发实战:理解内存管理)summary的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发-Swift进阶之内存管理 & Runtime!

iOS开发进阶(iOS开发实战:GCD)summary

理解 iOS 的内存管理

理解 iOS 和 macOS 的内存管理

iOS开发日记59-推荐两本好书

《iOS开发进阶》连载:第2章-使用CocoaPods做依赖管理