iOS关于error can't allocate region的一点发现

调试的时候出现error can't allocate region错误,后来去搜了下网上关于这个错误的帖子,是这么说的:
error can't allocate region 程序运行报错,在xcode中则会发出“SIGABRT”信号来终止程序。
原因是程序运行内存不足,欲申请空间得不到分配。
此时可以查找程序是否出现程序一直申请内存,出现死循环.
SIGABRT 程序自己发现错误并调用abort来终止程序.
可能是程序没有内存可分配导致,运行终止.
但是!
问题还是存在,无论我怎么改,leaks检测到内存没有泄漏和增长的情况,但程序的内存空间一直在减少直到出现这个问题,百思不得其解,到底是什么导致
这种情况出现的呢??!!!后来我终于发现了,我的在程序中开了NSZombieEnabled这几个跟踪内存错误信息了,就是下图


这几个开着会一直消耗程序的内存,关掉之后就没事了,程序也不会退出。所以大家在使用这个跟踪内存的时候一定要注意内存没错误后一定要关闭再测试。
至于为啥开着这几个对程序的内存有影响还不明白,明白的朋友帮忙解答下啊。

转:http://www.cocoachina.com/bbs/read.php?tid=135498

原文地址:https://www.cnblogs.com/ygm900/p/4024347.html