ARC下如何实现内存释放 arc delloc 内存释放arcdelloc内存释放ios 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 恩,内存警告和这里没有问题,内存警告主要因为释放内存较慢,所有我想在ARC模式下使用什么方法可以自己手动释放内存,所以问一下大家是不是在-(void)delloc;下边实现内存释放的-(void)delloc{ self.button = nil; self.label = nil;} self.button = nil 这时的对象指向的是一个空指针,ARC会认为这时的对象没有被其它的对象引用,会把它加入到待清理的队列中去。你这里的内存问题也有可能是由其它的方面导致。可以借助工具来帮你分析内存哪个地方出了问题,对于运行时导致的内存泄露你可以使用Instruments 工具来帮你分析。 我采用ARC方式,如果我退出一个页面之时我可以将这个self.button = nil; self.label = nil;放在-(void)delloc里边吗,我在网上边看的是ARC模式下边-(void)delloc中放delegate管用,其他的东西不管用,能帮我解答一下疑点吗 同问,ARC下不能手动release 每次有些类似Dictionary array Nsstring 等等这类东西不用的时候 都是手动复制nil 感觉怪怪的 不要使用self. 用_ 你使用self. 引用计数不增加吗? tableView.delegate = nil 写代理有用 其他没用的 这位兄台说的好。看来楼主对点语法 不了解,没有亲自写过MRC下的get 方法和set方法,写过的人都不会在dealloc里面用.语法 没用过ARC的飘过...哥是从C转过来滴,习惯了有自己alloc就自己release弱滴问一下:在ARC的一段函数里面,alloc的东西,不用了,是不是一定要设置为nil-(void)func { NSxxx* p = [[NSxxx alloc] init]; //... ....做了一些活动后 p = nil; //这里是不是一定要设置?如果不设置,是不是内存就泄漏了?}还有在ARC的init函数里,alloc的或者IBOutlet的东西,是不是,也一定要在dealloc里设为nil?-(id)init { self = [super init]; self.p = [[NSxxx alloc] init]; return self;}-(void)dealloc { //这里p和btn是不是都得设为nil.. //假设btn为IBOutlet指定的.... self.p = nil; self.btn = nil;} 我是从java / android转过来的,我从来就没做手动释放内存,貌似程序同样很流畅在我们的项目中也没出现过-(void)dealloc { //这里p和btn是不是都得设为nil.. //假设btn为IBOutlet指定的.... self.p = nil; self.btn = nil;}这种代码因为你知道的,java语言有gc的功能,程序员不需要关心内存如果现在开发ios要手写一堆释放内存的代码,估计我接受不了 这位兄台说的好。看来楼主对点语法 不了解,没有亲自写过MRC下的get 方法和set方法,写过的人都不会在dealloc里面用.语法为什么不能写.语法呢?能不能给个具体点的答案,我一直用arc的。 大部分的人就是参考官方文档说的一句话:Don’t Use Accessor Methods in Initializer Methods and dealloc 然后就说:self都还不知道,所以不能用self. ...直接全局调用更好。是这样吗?扯淡的吧?self如果没有的话。self init 不是白写了?dealloc 如果self没有了,那么就是奔溃了。没有逻辑的说法。 这位兄台说的好。看来楼主对点语法 不了解,没有亲自写过MRC下的get 方法和set方法,写过的人都不会在dealloc里面用.语法为什么不能写.语法呢?能不能给个具体点的答案,我一直用arc的。只因为点语法里面不是直接赋值的,而是有很多条判断,引用计数之类的。并且点语法作为一个方法,而不是一条赋值语句,不太适合在那里写,当然并不是说不能用点语法在那里。你可以学习一下,mrc下,get方法和set方法的写法你就知道了。 运用ASIHttpRequest在gprs下获取不到解析数据 iPhone闹钟的问题? iphone事件处理函数都在ViewController中实现吗? 怎么实现iphone客户端软件与服务器端的数据交互? Buddle ID是什么 ios的状态栏的背景色如何与导航栏一样 视频播放器前面加载多少秒的广告 求OC源代码。 用swift练手,写了个行车记录仪软件 苹果手机助手开发的问题,获取app列表 ios开发蓝牙问题BLE4.0(接收硬件发出的信号) IOS NSNotificationCenter问题
-(void)delloc
{
self.button = nil;
self.label = nil;
}
这位兄台说的好。
看来楼主对点语法 不了解,没有亲自写过MRC下的get 方法和set方法,写过的人都不会在dealloc里面用.语法
没用过ARC的飘过...
哥是从C转过来滴,习惯了有自己alloc就自己release
弱滴问一下:
在ARC的一段函数里面,alloc的东西,不用了,是不是一定要设置为nil-(void)func {
NSxxx* p = [[NSxxx alloc] init];
//... ....做了一些活动后
p = nil; //这里是不是一定要设置?如果不设置,是不是内存就泄漏了?
}
还有在ARC的init函数里,alloc的或者IBOutlet的东西,是不是,也一定要在dealloc里设为nil?-(id)init {
self = [super init];
self.p = [[NSxxx alloc] init];
return self;
}-(void)dealloc {
//这里p和btn是不是都得设为nil..
//假设btn为IBOutlet指定的....
self.p = nil;
self.btn = nil;
}
在我们的项目中也没出现过-(void)dealloc {
//这里p和btn是不是都得设为nil..
//假设btn为IBOutlet指定的....
self.p = nil;
self.btn = nil;
}这种代码
因为你知道的,java语言有gc的功能,程序员不需要关心内存
如果现在开发ios要手写一堆释放内存的代码,估计我接受不了
这位兄台说的好。
看来楼主对点语法 不了解,没有亲自写过MRC下的get 方法和set方法,写过的人都不会在dealloc里面用.语法
为什么不能写.语法呢?能不能给个具体点的答案,我一直用arc的。
然后就说:self都还不知道,所以不能用self. ...直接全局调用更好。是这样吗?扯淡的吧?self如果没有的话。self init 不是白写了?dealloc 如果self没有了,那么就是奔溃了。没有逻辑的说法。
这位兄台说的好。
看来楼主对点语法 不了解,没有亲自写过MRC下的get 方法和set方法,写过的人都不会在dealloc里面用.语法
为什么不能写.语法呢?能不能给个具体点的答案,我一直用arc的。
只因为点语法里面不是直接赋值的,而是有很多条判断,引用计数之类的。并且点语法作为一个方法,而不是一条赋值语句,不太适合在那里写,当然并不是说不能用点语法在那里。你可以学习一下,mrc下,get方法和set方法的写法你就知道了。