iOS for 循环引起内存暴增

内存一直在增长
instrument查找原因

定位到具体方法,发现了这行的问题:

错误代码

由于self.defaultsArray是nil,而count是NSUInteger,所以count做了位运算,是64位机器下最大值。而刚好这个循环在做view添加操作,导致添加了无限个view。导致内存一直在增大。

总结:
1.count-1由于count是无符号值,所以算出的值应该是越界了。就像int在32位机器超出65535一样,结果不可预料。
2.循环还是使用enumerateObjectsUsingBlock方法,这个方法是多线程的,效率高。

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!
技术狗 » iOS for 循环引起内存暴增