Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
Ios 由于内存压力而终止,使用的内存小于15MB_Ios_Iphone_Memory Management_Memory Pressure - Fatal编程技术网

Ios 由于内存压力而终止,使用的内存小于15MB

Ios 由于内存压力而终止,使用的内存小于15MB,ios,iphone,memory-management,memory-pressure,Ios,Iphone,Memory Management,Memory Pressure,我面临着一个奇怪的问题,我正在开发的应用程序经常因为内存压力而死机,但它并没有像你在截图中看到的那样真正发挥作用。 所以我开始寻找“其他”问题,比如内存泄漏、隐式转换,但我真的不知道如何调试这类事情,所以。。。有人知道如何摆脱这个问题吗?:) 当应用程序被iOS本身暂停时,通常会出现由于内存压力而导致的终止。当你的设备没有很多可用内存时就会发生这种情况,这通常是一个好兆头(这意味着当用户关闭应用程序时,这种情况迟早会发生在你的应用程序上) 我会让你使用仪器,并找到你的应用程序到底在哪里终止(如果

我面临着一个奇怪的问题,我正在开发的应用程序经常因为内存压力而死机,但它并没有像你在截图中看到的那样真正发挥作用。
所以我开始寻找“其他”问题,比如内存泄漏、隐式转换,但我真的不知道如何调试这类事情,所以。。。有人知道如何摆脱这个问题吗?:)


当应用程序被iOS本身暂停时,通常会出现由于内存压力而导致的
终止。当你的设备没有很多可用内存时就会发生这种情况,这通常是一个好兆头(这意味着当用户关闭应用程序时,这种情况迟早会发生在你的应用程序上)


我会让你使用仪器,并找到你的应用程序到底在哪里终止(如果是这样的话)。可以在此处找到good Instruments教程-

分配给GPU的内存(例如,使用
glGenFramebuffers
)不会显示在我能找到的任何内存检测中,但是使用过多的内存会对内存压力产生不利影响


在我的例子中,我的代码路径漏掉了
glDeleteFramebuffers

,我在arc之前就开始处理内存,而且我非常擅长,我的应用程序几乎一点都没有漏掉。。。现在有了arc,我感到无能为力。。。顺便说一句,我的应用程序使用的是10mb…@Cesar ARC一点也不笨,它是一个很好的系统,但在使用CoreGraphics和其他非Obj-C对象时,你必须记住一些事情。10到15MB绝对可以。我曾经有一个应用程序,它使用了高达150MB的内存,运行得非常好。试着用仪器调试它。到目前为止,我喜欢ARC,但我觉得我几乎无法控制:)我使用的是同时使用OpenGL、CoreGraphics和AVFoundation的GPUImage框架。@Cesar您已经接受了这个答案,您能否提供一些详细信息,说明它到底是如何帮助您的?例如,您的问题的实际解决方案是什么?@iDev这是一个不同的问题,这里的内存使用率很低,但谢谢:)您通过哪个操作捕获了此例外。这是一个视频编辑应用程序,我使用的是GPUImage。在iOS7(不是6!)中多次重复保存操作(整个视频被重新处理并应用了滤色器)后发生崩溃。当用户使用苹果的摄像头应用程序时,我的应用程序被终止。我的应用程序没有过度使用内存,在我的应用程序中使用摄像头也可以。没有向我的应用发送内存警告。