开发者社区 问答 正文

release和free()的区别

我想要清除应用里面的配置内存,应该使用-release,但是不知道release和free()有什么区别呢?

展开
收起
爵霸 2016-05-27 15:48:40 2912 分享 版权
1 条回答
写回答
取消 提交回答
  • free()是C标准库里面的,是一个函数。它调用malloc(),可以立即释放内存。因此它必须有malloc()传递一个指针,不然会引起异常。
    -release是NSobject类的一个方法。它不会立即释放内存,它只是减少对象的一个引用计数。一直到它检测到0,然后调用-dealloc()。

    2019-07-17 19:18:04
    赞同 展开评论
问答地址: