美文网首页
第三十五条: 用"僵尸对象"调试内存管理问题

第三十五条: 用"僵尸对象"调试内存管理问题

作者: iOS博仔 | 来源:发表于2021-12-04 21:09 被阅读0次

        调试内存管理问题很令人头疼。大家都知道,向业已回收的对象发送消息是不安全的。这么做有时可以,有时不行。具体可行与否,完全取决于对象所占内存有没有为其他内容所覆写。而这块内存有没有移作他用,又无法确定,因此,应用程序只是偶尔崩溃。在没有崩溃的情况下,那块内存可能只复用了其中一部分,所以对象中的某些二进制数据依然有效。还有一种可能,就是那块内存恰好为另外一个有效且存活的对象所占据。在这种情况下,运行期系统会把消息发送新对象那里,而此对象也许能应答,也许不能。如果能,那程序就不崩溃,可你会觉得奇怪:为什么收到消息的对象不是预想的那个呢?若新对象无法响应选择子,则程序依然会崩溃。

    相关文章

      网友评论

          本文标题:第三十五条: 用"僵尸对象"调试内存管理问题

          本文链接:https://www.haomeiwen.com/subject/msebxrtx.html