正如问题所说,它在 7mb 时就死掉了。
这是正常的吗? (7MB..)
仪器显示无泄漏。
谢谢
已编辑 17mb -> 7mb。
我通过删除分配的不必要的池来降低内存使用量。
尽管如此,它还是在 7 MB 时收到内存警告。
我本质上是在创建图像并在收到警告时不断发布它们。
我正在做很多
- (UIImage*) allocImage
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
UIImage* uiImage = [UIImage imageWithData: imageData];
UIImage* changedImage = [uiImage changeColor: self.currentColor];
uiImage = changedImage;
[uiImage retain];
[pool release];
return uiImage;
}
并释放我得到的 uiImage(仪器显示内存增加了 2-3 mb,然后回到 7mb)
每个图像在内存中都有 1mb 大,当应用程序收到警告时,我可能应该创建/销毁图像大约 100 次。
发现类似的情况,但没有解决方案。
我的 iPhone 应用程序收到内存警告并在 6.8MB 时被终止 https://stackoverflow.com/questions/2875990/my-iphone-app-gets-memory-warning-and-killed-at-6-8mb
内存警告但活动字节较小 https://stackoverflow.com/questions/2922691/memory-warning-but-small-live-bytes
也许我应该将“创建 UIImage”移至 c/c++ 代码?这样我就不用担心加载很多图像了?想知道这是否可能。
或者可能使用图像内存池,因为图像大小都是相同的。
这取决于很多因素,有问题的设备、iOS 版本、设备上同时发生的其他事情等。基本上,无论何时出现警告,您都应该认真对待。获得警告不是问题。当你得到它们时什么也不做是一个坏主意。
根据我的经验,17Mb 属于偏低的正常值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)