从镐:
有时您可能需要在不用于对象存储的扩展中分配内存——也许您有一个用于 Bloom 过滤器、图像或一大堆 Ruby 不直接使用的小结构的巨大位图。要正确使用垃圾收集器,您应该使用以下内存分配例程。这些例程比标准 malloc 函数做更多的工作。例如,如果 ALLOC_N 确定它无法分配所需的内存量,它将调用垃圾收集器来尝试回收一些空间。如果不能或请求的内存量无效,它将引发 NoMemError
但是在给定的函数中,我确切地知道何时释放内存。在这种情况下,我还应该使用ALLOC_N
分配内存吗?
是否存在我应该自己释放内存的合法案例,或者最好总是使用ALLOC_N
它而不关心它?