ios 关于重置RootViewController之后,View没有释放的问题。

回顾:

        这几天在修改公司项目的时候,发现一个问题,重新登录之后,重置了RootViewController之后,反复20多次,发现手机越来越热,于是看了下内存飙了很高,打开Xcode查看图层,突然发现之前页面的View依然在window上。 

效果图如下:


于是将 首页控制器  打印了dealloc  ,发现首页controller的dealloc在每次 window 执行setRootViewController 时候都执行了,也就是说controller是被正确释放了。

所以换了一种思路:controller被释放了,可能view被  addSubview   造成强引用了?为了验证这个想法,我取了一个没有被释放掉的view的内存地址


使用内存视图管理工具(Xcode黑科技)


使用内存地址找到了这个view,发现这个view只有window强引用着。。那好吧。。看来不是引用计数的问题。

于是去代码里找问题,因为代码都是外包公司写的,质量实在不敢恭维,只能一行行的开始review代码。终于发现了问题,原来是在登录的时候 ,dismiss掉登录页面之前,将window的Root重置了。。

在此真的想吐槽一下,于是记录了这次采坑经历。。。。。

你可能感兴趣的:(ios 关于重置RootViewController之后,View没有释放的问题。)