便利构造函数是不是会增加应用程序的大小...?
Posted
技术标签:
【中文标题】便利构造函数是不是会增加应用程序的大小...?【英文标题】:Do convenience constructor increase the size of the app...?便利构造函数是否会增加应用程序的大小...? 【发布时间】:2012-04-14 14:04:52 【问题描述】:我很确定他们会...但只是想确认...例如看看下面的代码..
- (void)reset
NSNumber *zero = [NSNumber numberWithInteger:0];
[self setCount:zero];
现在这会返回一个自动释放的对象,该对象会被添加到应用程序的自动释放池中,从而增加其大小...
除非应用程序终止,否则它不会被释放..? 任何帮助表示赞赏
【问题讨论】:
【参考方案1】:内存在下一次通过应用程序的主事件循环时被释放。
确切的时间取决于您的应用程序何时完成执行代码并返回事件循环。在事件循环期间,在计划的任务中,正在清空(耗尽)应用程序的自动释放池。
如果您担心自动释放池越来越大,您可以战略性地使用自己的自动释放池。
【讨论】:
我正在寻找确切的时间,我的意思是什么触发了通过..? 在@trudyscousin 所说的基础上,[NSNumber numberWithInteger:0] 和其他常见对象在运行时被编译为单例以节省内存。 @trudyscousin 你不知道主事件循环何时运行,但你可以使用,作为一个一般的想法,一旦你编写的任何代码执行完毕,主循环就会运行。以这种方式想象它。主事件循环正在运行,当它需要时,它会调用你的代码来做某事。完成对代码的调用后,事件循环将再次运行。这并不完全是发生了什么,但足够接近得到图片......基本上,一旦你的代码输入完成,主事件循环就会再次运行。以上是关于便利构造函数是不是会增加应用程序的大小...?的主要内容,如果未能解决你的问题,请参考以下文章