微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用objc_disposeClassPair

如何解决使用objc_disposeClassPair

| 运行时API中有一个未记录的函数,该函数似乎(根据一些玩具程序而定)按照其名称所暗示的那样起作用:
OBJC_EXPORT void objc_disposeClasspair(Class cls) 
     AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;
但是,详细信息在地面上很少。因此,与其说是一个问题,不如说是更多相关问题的集合: 是否有任何关于它的好的文章/博客文章,或者有人有使用它的经验(快速的Google建议PyObjC开发人员至少在某一时刻考虑使用它)? 是否完全释放了处置的类(经常创建和删除类的应用程序会泄漏内存吗?) 除了未记录的API以外,是否还有其他需要牢记的陷阱? 苹果在哪里使用(可能使用)? NSBundle正在卸载? KVO?     

解决方法

  是否完全释放了处置的类(经常创建和删除类的应用程序会泄漏内存吗?) 是的,它们将被完全释放。如果您查看http://www.opensource.apple.com/source/objc4/objc4-437/test/classpair.m中的“ 1”函数,您会发现它既分配又取消分配了多个类。下面的“ 2”实现运行该功能100次,并检查是否存在泄漏,这表明它们不会发布泄漏严重的实现。如果您想了解更多信息,请浏览http://www.opensource.apple.com/source/objc4/objc4-437/runtime/中的代码。您可能会在某个地方以及使用它的地方找到苹果的两个函数的实际代码。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。