我使用NSMutableData对象存储表示系列数据的32个字节结构的列表。为了节省不必要对象的分配,我尝试将字节扩展并追加到现有对象,而不是分配新对象。
我今天在模拟器中注意到了一些奇怪的行为: 1)使用setLength和increaseByLength并不总是使所有新字节为零;2)修改后使用这些对象会导致崩溃。所有的崩溃都在非常不同的领域,但总是EXC_BAD_ACCESS。经过相当多的调试,我最终分配了新的对象,以便通过mutableCopy处理,并在完成时将它们分配给我的对象属性。解决了我所有的问题。
*我在后台线程中处理这些对象,但已将所有操作包装在一个同步块中,并且未能观察到有关对象的任何争用条件。
有没有人注意到类似的怪事?
谢谢。
发布于 2012-09-20 20:03:48
我还没有收到任何答复,所以我想我应该跟进我的解决方案。最后,我根据需要重新分配了新的NSData / NSMutableData对象,并在将内存封装到NSData对象之前直接使用它们。
https://stackoverflow.com/questions/12272934
复制相似问题