前言:
这个话题其实以前也有所了解,虽然不是很清楚的分析是不是内存泄漏,但是起码知道delegate要使用weak,block要注意weak,再使用用strong就可以避免大部分的内存泄漏。实话说,到现在都很少遇到内存泄漏的问题吧。
自己代码一直都挺注意delegate和block的。
问题:
这次项目更新遇到了很多问题,同事帮忙分析一个问题的时候发现内存泄露了,导致控制器一直没有释放。最开始我查问题的结果就是断点过去,明明断点过去值是对的,但是到界面显示数据就一直是错的。。。。。。看到这问题你会怎么排查问题?
算是学到一招吧,直接断点过去看控制器的地址是不是一个,有没有走deinit方法,看是不是强引用了该控制器,如果是,切断其中的一条线然后解决循环引用就可以了。
内存泄漏相关具体细节参考下面的链接吧,很详细,因为我知道的大概也就这么多了~~~
网友评论