我的应用程序遇到了一些奇怪的内存问题。经过一些调试后,我用一个 View 控制器将问题隔离到了一个新项目中。所以现在我的测试应用程序包含一个UINavigationController
连接到ViewController
一个按钮,按下一个按钮ViewController
:
#import "ViewController.h"
#import "AFNetworking.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
for(int i=0;i<100;i++)
{
NSString *rightImageUrl = [NSString stringWithFormat:@"%@/%@-iphone%@.png",ImagesURL,[NSString stringWithFormat:@"%d",i],@"4"];
UIImageView *rightImageView = [[UIImageView alloc]initWithFrame:CGRectMake(6, 50*i , 139, 200)];
[rightImageView setImageWithURL:[NSURL URLWithString:rightImageUrl]];
[self.view addSubview:rightImageView];
}
}
以上是我现在测试应用程序中的所有代码。
根据 Instruments,上面需要 X 内存(10mb,20mb .. 取决于循环的数量)问题是当我弹出ViewController
.
我尝试使用 @autoreleasepool 将代码包装在 for 循环中,但这并没有起到多大作用。
请指教