便利构造函数是不是会增加应用程序的大小...?

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 你不知道主事件循环何时运行,但你可以使用,作为一个一般的想法,一旦你编写的任何代码执行完毕,主循环就会运行。以这种方式想象它。主事件循环正在运行,当它需要时,它会调用你的代码来做某事。完成对代码的调用后,事件循环将再次运行。这并不完全是发生了什么,但足够接近得到图片......基本上,一旦你的代码输入完成,主事件循环就会再次运行。

以上是关于便利构造函数是不是会增加应用程序的大小...?的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C 单元测试资源是不是会增加整体文件大小

Google Storage 不是构造函数错误

Swift构造函数和便利构造函数

OC语言中的便利初始化函数和便利构造器

swift便利构造函数

字体大小反应原生