关于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一次,可能就会影响到其他的对象实体了
关于release后retainCount还是1的问题的更多相关文章
- Object -c基础知识(5)--release 之后 retainCount为何为1
在XCode中加入如下代码: UILabel *label=[UILabel alloc]; [label setText:@"TestLabel"]; NSLog(@" ...
- QT中使用Event Filter监听button事件,Release后button不见
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhenyu5211314/article/details/27201043 问题RT,在程序中我使用 ...
- qt解决release后数据库连接不上的问题
问题 : 明明已经设置了 "./xxx" , 为什么release之后数据库还是连不上呢 解决 : 项目中建立一个plugins文件夹 将qt安装目录下的sqldrivers复制到 ...
- 关于Objective-C 对象release操作的一个小问题探讨
来源:http://blog.csdn.net/duxinfeng2010/article/details/8757211 最近遇到这样一个问题,以前的时候并未注意:新建一个工程,然后添加一个类,文件 ...
- Objective-C中release和nil的关系
(iphone/ipad)浅谈Objective-C中release和nil的关系 分类: iPhone/iPad开发技术2011-12-09 01:40 2515人阅读 评论(4) 收藏 举报 ui ...
- OC语法6——内存管理之引用计数器(retain,release)
OC内存管理: 一.引用计数器: Java有垃圾回收机制(Garbage Collection,GC).也就是说当我们创建对象后,不需要考虑回收内存的事,Java的垃圾回收机制会自动销毁该对象,回收它 ...
- Objective-C中nil与release的区别与用法
首先说一下他们两的作用,nil就是把一个对象的指针置为空,只是切断了指针与内存中对象的联系,它对内存的释放没有什么作用:而release才是真正用于内存释放的,release后系统会将该块内存标记为可 ...
- strcpy函数导致release版程序崩溃
最近在写一个读取模型文件的小程序.很随意的使用了strcpy函数进行char字符数组的拷贝,这个数组是需要传递给PostMessage作为WPARAM的参数.代码部分如下: char pStrCurr ...
- win7程序关闭后弹出 程序兼容性助手 这个程序可能安装不正确 如果此程序没有正确安装,处理方式
用WTL编写的程序,编译成release后,在win7上关闭后,弹出这个对话框 处理方法: 将这个xml文件命名成 xxx.exe.manifest,保存到指定目录下 <?xml version ...
随机推荐
- Appium+python自动化54-appium-doctor报错已解决(SyntaxError: Unexpected token ...)
前言 由于新版的appium desktop版本是不带appium-doctor这个包的,所以想用appium-desktop检查环境的话需要另外的安装了,在安装的时候小编又遇到了一个坑 报错信息:S ...
- redis的主从配置 扩容
由于redis的集群功能没有完全编写好,见:http://redis.io/topics/cluster-spec 集群只有测试版的第8个版本redis3.0.0 见 http://redis.io/ ...
- JQuery与JavaScript onload的区别
1.window.onload 不能有多个,后面的功能会覆盖前面.而jQuery(document).ready()可以存在多个. 2.window.onload 在页面所有元素(包括图片,引用文件) ...
- react组件引用时的default常见错误
1.下面使用方法是正确的: export class StepLoad extends React.Component {} 引用上面插件的方法,重命名 import {StepLoad as Ste ...
- PlSQL Oracle 中的 对应 SQL server 中的 IsNull(Expr1,Expr2)
NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值NVL2(Expr1,Expr2,Expr3)如果Expr1为NULL,返回Expr2的值,否则返回 ...
- zedboard--嵌入式网络摄像机(mjpg-streamer)的移植和搭建(二十二)
在zedboard上移植和搭建嵌入式网络摄像机mjpg-streamer.具体步骤如下: 来自:http://write.blog.csdn.net/postedit/13741451 1.安装lib ...
- JQuery EasyUI 动态改变表单项的验证守则
//JQuery EasyUI 动态改变表单项的验证规则 $(document).ready(function(){ $('#FILE_QUALITY').combobox({ onChange:fu ...
- (剑指Offer)面试题56:链表中环的入口结点
题目: 一个链表中包含环,请找出该链表的环的入口结点. 思路: 1.哈希表 遍历整个链表,并将链表结点存入哈希表中(这里我们使用容器set),如果遍历到某个链表结点已经在set中,那么该点即为环的入口 ...
- (剑指Offer)面试题41:和为s的两个数字
题目: 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s,如果有多对数字的和等于s,输出任意一对即可. 思路: 1.枚举 固定一个数字,然后依次判断数组中该数字后面的数字与 ...
- (C++)C++多态性中的静态绑定和动态绑定
静态绑定和动态绑定是C++多态性的一种特性. 1.对象的静态类型和动态类型: 对象的静态类型: 对象在声明是采用的类型,在编译期确定: 对象的动态类型: 当前对象所指的类型,在运行期决定,对象的动态类 ...