首先定义一个Person类和一个Dog类,然后分别实例化对象p和d,给p对象添加一个pet属性
给d对象添加一个master属性此时Person和Dog的应用计数都为2,当del p 和del d后Person
和Dog的应用计数都为1,就造成了循环引用导致内存不能释放 最终导致内存泄漏。
以下图片是没有循环应用的代码执行结果
以下图片是循环引用后代码执行结果
本文共 235 字,大约阅读时间需要 1 分钟。
首先定义一个Person类和一个Dog类,然后分别实例化对象p和d,给p对象添加一个pet属性
给d对象添加一个master属性此时Person和Dog的应用计数都为2,当del p 和del d后Person
和Dog的应用计数都为1,就造成了循环引用导致内存不能释放 最终导致内存泄漏。
以下图片是没有循环应用的代码执行结果
以下图片是循环引用后代码执行结果
转载于:https://www.cnblogs.com/chen55555/p/11079223.html