热门搜索 :
考研考公
您的当前位置:首页正文

内存管理知多少

来源:东饰资讯网

一、self的内存管理

self 的内存管理, 什么意思?

1.0 钱戏

确切的说self是一个参数,一个隐藏的参数,还有一个与他相依为命的参数是_cmd。确实是这样的,他不是一个全局变量,也是不是一个全局属性, 你可以看一下下面这张图片。


image.png

关于self与_cmd是怎么来的,在网上有很多大神都提及到,不再重复。

1.1 那么问题来了

A) 我想表达的第一个问题是这个:(对应代码中的 "Self在统一方法中提前释放")
image.png
上面是怎么回事呢?请到github下载, 搜索 "详细介绍,请参考大神文章"能找到大神博客的地址,不在这里重复copy了[偷笑中😏😏]。
image.png
B) 我想表达的第二个问题是这个:(对应代码中的 "WeakStrongBlock循环新情况")

为了防止指针循环,往往会weak一下对应的对象,但是有的时候需要在block中在strong一下,防止对象提前释放的情况。那么问题来了, weak与strong是一对一的么?先来看下面的这个图:


image.png
如果将第二个strong删除会发生什么情况呢?

二、NSTimer 的正确使用方式

对应 "NSTimer内存泄露"

谢谢~

Top