Ios 显示大图像文件时显示在查看后调用的DidReceiveMemoryWarning

Ios 显示大图像文件时显示在查看后调用的DidReceiveMemoryWarning,ios,objective-c,xcode,uiimageview,nsdata,Ios,Objective C,Xcode,Uiimageview,Nsdata,加载特定页面时,由于内存压力,我的应用程序已终止。我正在使用NSURLRequest获取数据并加载图像。我在代码中设置了断点,并在ViewDid出现之后跟踪了第一个DidReceiveMemoryWarning调用。下面是我用来加载图像的代码: NSError *error = nil; NSURLResponse *response = nil; NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:

加载特定页面时,由于内存压力,我的应用程序已终止。我正在使用NSURLRequest获取数据并加载图像。我在代码中设置了断点,并在ViewDid出现之后跟踪了第一个DidReceiveMemoryWarning调用。下面是我用来加载图像的代码:

NSError *error = nil;
NSURLResponse *response = nil;
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:self.img]];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
UIImage *img = [[UIImage alloc] initWithData:data];
self.ImgView.image = img;
[self.scrollView addSubview:self.ImgView];
关于我收集的数据的一些事实:

  • 图像为在线5184px×3456px(缩放至1008px×672px)
  • 我正在将图像放置到320 x 320 UIImageView中
  • NSData对象数据为5360785字节

  • 我怎样才能纠正这个问题?是应用程序无法处理数据,还是imageView无法缩放图像?图像显示在屏幕上,但在屏幕加载后,应用程序会崩溃一点,无论您是停留在该页面上还是离开该页面。

    加载视图后尝试加载图像&然后分配给imageview将图像缩小一点。这将避免内存警告

    参考:

    用于调整图像大小:

    加载视图后,尝试加载图像&在分配给imageview之前,将图像缩小一点。这将避免内存警告

    参考:

    用于调整图像大小:

    加载视图后,尝试加载图像&在分配给imageview之前,将图像缩小一点。这将避免内存警告

    参考:

    用于调整图像大小:

    加载视图后,尝试加载图像&在分配给imageview之前,将图像缩小一点。这将避免内存警告

    参考:

    用于调整图像大小:

    如果我从数据中提取图像,如何缩小图像?从NSData中获取图像。缩小uiimage的比例,然后分配它。哇,这刚刚修复了所有问题!我使用了这段代码,并将其放在viewDidLoad中!非常感谢!如果我从数据中提取图像,如何缩小图像?从NSData中获取图像。缩小uiimage的比例,然后分配它。哇,这刚刚修复了所有问题!我使用了这段代码,并将其放在viewDidLoad中!非常感谢!如果我从数据中提取图像,如何缩小图像?从NSData中获取图像。缩小uiimage的比例,然后分配它。哇,这刚刚修复了所有问题!我使用了这段代码,并将其放在viewDidLoad中!非常感谢!如果我从数据中提取图像,如何缩小图像?从NSData中获取图像。缩小uiimage的比例,然后分配它。哇,这刚刚修复了所有问题!我使用了这段代码,并将其放在viewDidLoad中!非常感谢!