iOS: 由于内存泄漏导致的随机方法调用?

iOS: random method invocations due to memory leaks?

今天我遇到了一个严重的问题。突然我的应用程序变成了不一致的状态,我检查了所有日志(希望我有很多日志自动保存在文件中)并发现有一个不需要的方法调用。该方法只是重置了我的核心数据堆栈。

我花了几个小时试图找出这是怎么可能的,但除了一些内存泄漏外什么也没发现。内存泄漏是否可能导致错误的、随机的、不需要的方法调用?

更新: 我的错误,看起来我的日志应该更详细。

不,如果我们说不释放分配的内存。这个错误只消耗了可用内存。

是的,如果我们谈到在释放内存后使用对象引用。如果对象不再存在,这通常应该以异常结束。在原始数据类型的情况下,您实际上可能会命中一个可以更改关键内容的内存地址 - 只要它在您的沙箱中。

示例:我的第一个应用程序是从 Core Data 反序列化一个 int 数组,但我一直在写入比之前分配为 int 数组更多的值。结果:在不同 类 和 Core Data 中随机崩溃。

是的,这种方式可能会破坏数据 - 只是可能性很小。