为什么我的UIImage占用这么多内存?

潜行

我有一个要加载到我的应用程序视图中的UIImage。它是一个10.7 MB的映像,但是当它加载到应用程序中时,应用程序的资源使用突然增加了50 MB。为什么这样做呢?使用的内存不应该仅增加约10.7MB吗?我确信加载图像是导致内存使用量激增的原因,因为我尝试将这些行注释掉,并且内存使用量回到了大约8 MB。这是我加载图像的方式:

UIImage *image = [UIImage imageNamed:@"background.jpg"];
self.backgroundImageView = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:self.backgroundImageView];

如果没有办法减少此映像使用的内存,是否有办法在我希望时强制其取消分配?我正在使用ARC。

算法编码器

如前所述,@rckoenes请勿显示文件大小过大的图像。在显示图像之前,您需要调整其大小。

UIImage *image = [UIImage imageNamed:@"background.jpg"];
self.backgroundImageView =[self imageWithImage:display scaledToSize:CGSizeMake(20, 20)];//Give your CGSize of the UIImageView.
[self.view addSubview:self.backgroundImageView];


-(UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
    //UIGraphicsBeginImageContext(newSize);
    // In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution).
    // Pass 1.0 to force exact pixel size.
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么docker占用了这么多VIRT内存?

为什么python字典会占用这么多内存?

为什么tensorflow占用这么多内存?

为什么我的页表占用了这么多内存?

当我使用scipy乘以两个CSR矩阵时,为什么会占用这么多内存?

为什么操作 xarrays 会永久占用这么多内存?

为什么QML Image占用这么多内存?减慢申请

为什么从文件读取的numpy narray会占用这么多内存?

朱莉娅-为什么在模块中包含变量会占用这么多内存?

IE为什么要占用这么多CPU?

Python:为什么等待线程占用这么多 CPU

扫描为什么要占用这么多空间?

为什么Grunt / Gulp插件占用这么多空间?

CentOS:为什么“ cma”进程占用这么多RAM?

为什么我的自托管wordpress网站占用这么多空间?

为什么这个Haskell程序分配这么多内存?

为什么 WriterT State 需要这么多内存?

为什么这个tensorflow循环需要这么多的内存?

我在Ubuntu中看到的这个特殊文件是什么,为什么占用这么多空间?

POP桌面:占用这么多内存和cpu的'gjs'进程是什么?

什么是`/home/.ecryptfs`,为什么它占用这么多空间?

为什么/ lib / modules在xubuntu上占用了这么多空间?

在索引器同步附近,为什么存档设置为 false 会占用这么多空间?

MPG文件为什么要占用这么多空间?它是过时的格式吗?

为什么“ nparray.tolist()”占用了这么多空间?

Cygwin杂物包为什么要占用这么多空间?

为什么简单的程序会占用这么多的存储空间?

为什么XCode命令行工具占用这么多空间?

当我有这么多RAM时,为什么我的系统这么慢?