Ios 不使用返回的函数值是否会影响内存?

Ios 不使用返回的函数值是否会影响内存?,ios,function,memory-management,return-value,nsautoreleasepool,Ios,Function,Memory Management,Return Value,Nsautoreleasepool,这只是一个关于返回值的函数的最佳实践的一般性问题。例如,假设我有以下函数(伪代码): 现在,在某些情况下,我希望执行进一步的修改,如下所示: UIImageView *iv = [self createImageViewAndAddWithImageName:@"Blah"]; [iv setAlpha:0.5f]; for (int i = 0; i < 100; i++) { @autoreleasepool { [self creat

这只是一个关于返回值的函数的最佳实践的一般性问题。例如,假设我有以下函数(伪代码):

现在,在某些情况下,我希望执行进一步的修改,如下所示:

UIImageView *iv = [self createImageViewAndAddWithImageName:@"Blah"];
[iv setAlpha:0.5f];
for (int i = 0; i < 100; i++)
    {
        @autoreleasepool {
            [self createImageViewAndAddWithImageName:@"Blah"];
        }
    } 
与其他时候一样,我只想添加一个图像:

[self createImageViewAndAddWithImageName:@"Blah"];
在第二种情况下,我假设内存将自动释放?在第二个实例中,如果这是在循环中运行,那么使用如下自动释放块是否有意义:

UIImageView *iv = [self createImageViewAndAddWithImageName:@"Blah"];
[iv setAlpha:0.5f];
for (int i = 0; i < 100; i++)
    {
        @autoreleasepool {
            [self createImageViewAndAddWithImageName:@"Blah"];
        }
    } 
我只是想确保不使用返回值不会对我的应用程序产生负面影响,过度使用自动释放池也不会产生负面影响


谢谢您的建议。

每次运行循环调用时,它都会创建一个自动释放池。因此,在执行由运行循环引起的任何操作时,您所要做的就是不要分配太多内存。例如,如果用户按下一个按钮,您处理此操作的代码不应分配100 MB内存,即使自动删除。否则,自动释放是相当便宜的

每次运行循环调用时,它都会创建一个自动释放池。因此,在执行由运行循环引起的任何操作时,您所要做的就是不要分配太多内存。例如,如果用户按下一个按钮,您处理此操作的代码不应分配100 MB内存,即使自动删除。否则,自动释放是相当便宜的

好的,谢谢,我将在几个初始设置循环中测试自动释放池,看看它是否对内存使用有重大影响。我猜自动释放池不会导致过度释放对象?它只是作为一个较短的运行循环?好的,谢谢你,我将在几个初始设置循环中测试自动释放池,看看它是否对内存使用有重大影响。我猜自动释放池不会导致过度释放对象?它只是作为一个较短的运行循环?