iPhone:其他应用占用内存的漏洞?

时间:2010-01-23 06:38:51

标签: iphone memory memory-leaks

我正在读一些人,说如果某人的iPhone上的另一个(第三方)应用程序泄漏了内存,这可能会减少你的应用程序本来可用的(神秘)数量的RAM。

这让我感到困惑 - 当用户关闭应用程序时,并非所有应用内存都会被释放吗?在iPhone上一次只能打开一个应用程序?

3 个答案:

答案 0 :(得分:2)

通常,应用程序分配的任何内存在退出时都将被释放。但是,Apple的许多应用程序在“关闭”后仍继续运行,因此Mail中的内存泄漏会影响可用内存。

此外,还有一些应用可以释放已分配的内存。他们真的不做任何事情,除了强迫缓冲区缓存中的一些脏页面,但他们出现做某事,所以人们认为他们必须做一些有用的事情。

答案 1 :(得分:0)

在越狱手机上 - 是的,第三方应用可以与您同时运行。对于那些喜欢同时运行许多应用程序因此需要任务管理器,查杀任务等的人而言,内存耗尽很常见。

在一部不受干扰的手机上 - 没有。你的是唯一正在运行的非苹果应用程序,没有其他人可以同时运行。

那你能做什么?您所能做的就是尝试使用您可能已经在做的最小内存。实际上,你只能用工厂,未经检查的手机进行测试,除非你要花费数小时试图取悦所有人。如果您认为自己可能使用过多,则可以使用仪器工具识别更大的分配(在Xcode中使用“使用性能工具运行>”),然后在此处发布这一部分代码,以获得如何减少它的想法。 / p>

答案 2 :(得分:0)

您应该运行Instruments,然后添加仪器“Memory Monitor”以查看手机上所有其他进程的内存使用情况。 (使用Window添加 - > Library,然后将Memory Monitor仪器拖到仪表板上。

我还在试图确定为什么iOS会从我的应用程序中释放内存,而不是所有其他目前没有运行的内存猪应用程序。