多少内存泄漏(以字节为单位)可能是致命的
Posted
技术标签:
【中文标题】多少内存泄漏(以字节为单位)可能是致命的【英文标题】:How much memory leakage (in bytes) can be fatal 【发布时间】:2012-06-04 11:58:40 【问题描述】:我刚刚使用 Instruments 记录了我的内存泄漏,我的应用程序泄漏了大约 2-2.5 mb 的内存。我已经开始修复它,但您认为这是大量内存泄漏吗?我个人在使用 Instruments 和测量内存泄漏等领域的经验很少。如果没有,下一次,这将是一个致命的数量。另外,Instruments 会记录每一次内存泄漏吗?如果是这样,那么如果您的泄漏 = 0,那么您的应用程序在技术上是否完美(在内存管理方面)。 编辑: 在我使用内存泄漏记录的 Instruments 中,我测试了我的应用程序的每个部分,这就是我记录 2-2.5 mb 总数的方式。 谢谢!
【问题讨论】:
【参考方案1】:基本上你会想要摆脱你“拥有”的任何内存,即已经分配给你自己的内存。 如果你使用 alloc/copy/new 那么就是这种情况,你应该释放资源。
例如:
NSString *doIOwnThisIWonder = [NSString stringWithFormat:@"%@",@"Nope"];
NSImage *iOwnThisImage = [[NSImage alloc] initWithContentsOfFile:@"/tmp/youownthis.jpg"];
NSData *perhapsThisData=[iOwnThisImage TIFFRepresentation];
'请解除分配图像 mkay :)
我很懒所以这里有一个链接http://interfacelab.com/objective-c-memory-management-for-lazy-people/
【讨论】:
【参考方案2】:内存泄漏会随着时间的推移而增加,因此每个字节都可能是致命的。唯一的“非致命”泄漏是在过程生命周期内仅发生一次的泄漏。
【讨论】:
嗯好吧...你认为 2-2.5 mb 很多吗?我测试了我的应用程序的每个部分/部分 您在什么时间段内泄漏了这么多内存?十秒?一小时?两周? 我的应用程序不是很大所以大约 5 分钟 如果你在五分钟内泄露了 2 MB,如果有人运行你的程序一两个小时,你认为会发生什么?是的,我认为在一个小型应用程序中白白浪费 2 MB 的内存是很多的。 嗯...好点。谢谢!真的,我只是想了解什么是真正的坏和真正的好......而不是我的应用是什么......以上是关于多少内存泄漏(以字节为单位)可能是致命的的主要内容,如果未能解决你的问题,请参考以下文章