繁体   English   中英

iOS-在“今日扩展”上显示图像时收到内存警告

[英]iOS - Received memory warning for showing an image on Today Extension

我正在尝试从RSS提要下载图像,然后将其显示在今天的扩展小部件中,问题甚至显示出一个简单的图像也会引起Memory Warning!:

_imageView.image = [UIImage imageName:xxx.jpg];

这是我的使用UIImageView+AFNetworking下载图像的代码:

[_wImage setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[item.imagesFromContent objectAtIndex:0]]]

甚至尝试使用NSData

  [_wImage setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:
                                                  [NSURL URLWithString:[item.imagesFromContent objectAtIndex:0]]]]];

结果仍然是“ Received memory warning.

扩展程序的内存限制比普通的iOS应用程序低得多。 我建议重新考虑您的体系结构,并减少扩展本身的工作。

问题解决了 ! 对于那些会遇到此问题的人,您必须通过以下方法简单地调整图像大小:

-(UIImage *)resizeImage :(UIImage *)theImage :(CGSize)theNewSize {
    UIGraphicsBeginImageContextWithOptions(theNewSize, NO, 1.0);
    [theImage drawInRect:CGRectMake(0, 0, theNewSize.width, theNewSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}

我的图像为1024 x 768,大小为100到200 kb! 因此,使用此代码可以缩小其大小并节省大量内存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM