我开发的时候有的项目会出现内存警告的问题,我想问一下大家如何在arc下释放内存(当我退出某个ViewController时)?,我想再delloc下进行释放内存:
-(void)delloc
{
self.button = nil;
self.label = nil;
}
这种方法能不能实现
-(void)delloc
{
self.button = nil;
self.label = nil;
}
这种方法能不能实现
解决方案:5分
self.button = nil 这时的对象指向的是一个空指针,ARC会认为这时的对象没有被其它的对象引用,会把它加入到待清理的队列中去。你这里的内存问题也有可能是由其它的方面导致。可以借助工具来帮你分析内存哪个地方出了问题,对于运行时导致的内存泄露你可以使用Instruments 工具来帮你分析。
解决方案:5分
不要使用self. 用_ 你使用self. 引用计数不增加吗?
解决方案:10分
tableView.delegate = nil 写代理有用 其他没用的
解决方案:10分
这位兄台说的好。
看来楼主对点语法 不了解,没有亲自写过MRC下的get 方法和set方法,写过的人都不会在dealloc里面用.语法
看来楼主对点语法 不了解,没有亲自写过MRC下的get 方法和set方法,写过的人都不会在dealloc里面用.语法
解决方案:8分
只因为点语法里面不是直接赋值的,而是有很多条判断,引用计数之类的。并且点语法作为一个方法,而不是一条赋值语句,不太适合在那里写,当然并不是说不能用点语法在那里。你可以学习一下,mrc下,get方法和set方法的写法你就知道了。
解决方案:2分
在试图将要消失的时候把本类中所有对象释放掉,就可以了 ,将要出现的时候在创建,不怎么影响效率,而且释放的干净,在数据量笑的情况下,数据量大得时候,分情况处理