IOBufferMemoryDe​​scriptor 是否应该免费释放?

Should IOBufferMemoryDescriptor be released of free'd?

我正在查看 IOBufferMemoryDescriptor 的文档。它说 “...除非另有说明,否则您还负责释放您分配的缓冲区。”

IOBufferMemoryDescriptor::free也存在。我的问题是:我应该使用 free 还是 release(或者两者都用)来进行清理?

当使用 OSSafeReleaseNULL 删除最后一个句柄时,会自动调用

free()。 (这会在内部调用 release(),但通常最好使用宏。)

所以,永远不要直接调用free()方法,你只需要在自己的子类中覆盖它的上下文中关心它。始终在 OSObject 派生的 类.

上使用引用计数机制