zoukankan      html  css  js  c++  java
  • iOS 开发之内存泄漏问题

    关于内存泄漏问题,一般情况下就是控制器或者视图没有正常的释放引起的,我们通常可以通过dealloc方法来检查一个控制器或者视图是否释放。  对于一个控制器或者视图没有释放,其实也就是还有强引用引用着这个控制器或者视图view,所以我们发现一个控制器或者一个视图没有“正常”的释放,就证明他还存在其他的强引用指针,那么什么情况下会造成内存泄漏或者说一个视图、控制器没有正常的释放呢?(由于我在工作中,由于接受他人的工作,偶然间发现整个程序的视图控制很多都是没有正常的释放的,多么可怕,于是在找原因的总结)主要总结为以下三点:    

      1>Block的使用不正确,可能造成了循环引用

      2>程序中可能有一个单例,这个单例可能拥有着这个控制器或者View

      3>控制器或者View添加到了一个数组中,数组一直存在于内存中

    我的程序中就是由于一个下载单例,而这个单例拥有控制器作为他的代理,并且添加到了数组中。由于是接手项目所以没有注意到这点。。。。

    言而总之,就是有强引用引用着视图控制器或者view,所以下次小伙伴们遇到同样问题可以参考我以上提到的三点找一找。

  • 相关阅读:
    behavior planning——15.cost function design weightTweaking
    behavior planning——14.implement a cost function in C++
    behavior planning——13. implement a cost function in C++
    behavior planning——12.example cost funtion -lane change penalty
    发布全局项目
    http
    网址大全
    JSON.parse()和JSON.stringify()
    Ajax+Node分页
    H5移动端的注意细节
  • 原文地址:https://www.cnblogs.com/wannaGoBoy/p/5749389.html
Copyright © 2011-2022 走看看