Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone内存泄漏_Iphone_Objective C_Memory Management_Memory Leaks - Fatal编程技术网

iPhone内存泄漏

iPhone内存泄漏,iphone,objective-c,memory-management,memory-leaks,Iphone,Objective C,Memory Management,Memory Leaks,如果一个应用程序产生了大量内存泄漏,它们是“只是”应用程序内的问题,还是在应用程序终止后也在RAM中?那么iPhone操作系统是否释放了为沙盒应用程序分配的内存 谢谢内存泄漏是操作系统分配给您的程序在运行时使用的内存块,但在程序完成后,不会正确返回为未使用。所以这个记忆是“丢失的”。您的程序没有使用它,但系统还不知道它可以免费用于其他用途 当您的应用程序完成运行时,操作系统分配给它的所有内存都将返回以供重用。这回答了你的问题 然而,内存泄漏是一个重要的缺陷。在内存不足的设备上,比如iPhone,

如果一个应用程序产生了大量内存泄漏,它们是“只是”应用程序内的问题,还是在应用程序终止后也在RAM中?那么iPhone操作系统是否释放了为沙盒应用程序分配的内存


谢谢

内存泄漏是操作系统分配给您的程序在运行时使用的内存块,但在程序完成后,不会正确返回为未使用。所以这个记忆是“丢失的”。您的程序没有使用它,但系统还不知道它可以免费用于其他用途

当您的应用程序完成运行时,操作系统分配给它的所有内存都将返回以供重用。这回答了你的问题


然而,内存泄漏是一个重要的缺陷。在内存不足的设备上,比如iPhone,你消耗的内存越少越好,你不想在运行时泄露内存。如果设备内存不足,您的应用程序可能会意外终止或崩溃。

在运行应用程序时分配任何对象并错过释放这些对象时,会发生内存泄漏,因此请在xcode中进行分析,这将有助于检查内存泄漏,在xcode中运行配置文件模式将有助于检查应用程序中可能出现的泄漏

并使用NSAutoReleasePool来释放自动释放对象,该对象将在您仅分配对象而不分配时创建


希望能有帮助

内存泄漏是应用程序内部的问题,但可能会对总可用RAM产生副作用

它们是在实际不再使用时标记为正在使用的内存块。因此,他们在应用程序中迷失了方向。如果存在泄漏,这将增加内存消耗。系统会注意到内存使用情况不好,该应用程序可能会被监管机构jetsam抛弃(杀死)

因此,请将内存泄漏降至最低;-)

它对整个操作系统有影响,但后果可以忽略不计。因为当你点击“洞”按钮时,你的应用程序并没有被杀死,而是“后台”,所以你的应用程序使用的所有内存仍然有效,系统无法使用。Jetsam会先告诉你内存不足,然后让你扔掉不需要的东西。当然,你不能释放你的漏洞

如果系统仍然使用太多内存,并且需要为另一个进程分配更多内存,则应用程序将被终止。它使用的所有内存都将被释放,包括泄漏


泄漏严重,请在构建和分析中使用静态响声分析器。

这有关系吗?只需确保在应用程序中使用适当的内存管理。请记住,某些apple对象存在类似UIWebViews的内存泄漏,这通常是对内存泄漏的正确回答,但iPhone是否特别正确?是的,据我所知,iPhone内存管理与OS X上的cocoa应用程序相同,不支持垃圾收集。我知道没有垃圾收集。我只是不知道你们是从个人使用iPhone操作系统的经验还是从一般经验出发。我想你是对的,我只是想澄清一下。内存不是在iOS设备上共享的,当一个进程被终止时,任何内存泄漏都将被删除。当然,应用程序可能会创建大量不必要的文件,这些文件将持续存在(并占用“磁盘”空间),直到iOS决定踩它们(根据“存储使用指南”)或者别的什么)。但这与程序内存不同。