zoukankan      html  css  js  c++  java
  • 关于release后retainCount还是1的问题

    转自:http://www.cocoachina.com/bbs/read.php?tid=175523

    realse之后再调用还能调用的的问题,我做了这么多年也是经常遇到,也曾经试图寻找原因,
    就像6楼说的,很多时候都会出现realse过后还能调用的现象。而且对象不是autorealse的。
    我还遇到过奇葩的是,每次要等上好几秒钟再调用才会出现空指针异常。(代码里绝对没有手动多线程)
    还有很多时候跟你测试的硬件环境还有关,可以说,ios的内存管理策略虽然一如既往的是一套,但是每个版本都有细微的变化,
    使用中还是能感觉出来,只是没有官方的说明,无法正确的解释。
    
    不过随着一些界面业务该用autorelease之后,这种现象越来越不关注了。 
    唯一的可能是,这块内存还没有被重写,这个可能的确是有的,因为你不用一块内存,不代表内容真的清除掉,只是一个指针的单纯移除而已,更好运气是刚好被重写为0,这样是空爷不会崩溃
    
    这个和iOS无关,几乎所有的OS都有这个情况
    
    autorelease什么时候真正释放,这个google一堆了,就不展开了
    其实情况挺多的,你说的是一种,
    
    另外一种是,你的变量指针指向的地址,正好被 另一个对象用来存储了,这样,你release之后发现,对象实体还是存在的,有可能已经不是原来的实体了。
    但是,再release一次,可能就会影响到其他的对象实体了
  • 相关阅读:
    miaomiao
    你猜中了
    にあたり等
    厉害的走
    JavaWeb学习 第6章 Servlet和Cookie
    JavaWeb学习 第3章 servlet编程
    BinaryStar代码分析前言
    框架学习之Struts2 第九节 Struts2重要的标签解说
    框架学习之Struts2 第八节 OGNL表达式
    JavaWeb学习 第1章 Web开发工具配置和使用(下)Tomcat的配置
  • 原文地址:https://www.cnblogs.com/wangpei/p/3569174.html
Copyright © 2011-2022 走看看