gc
– 控制垃圾收集器¶
该模块实现了相应 CPython 模块的 一个子集,如下所述。有关更多信息,请参阅原始 CPython 文档: gc
.
功能¶
-
gc.
enable
()¶ 启用自动垃圾收集。
-
gc.
disable
()¶ 禁用自动垃圾收集。仍然可以分配堆内存,并且仍然可以使用
gc.collect()
.
-
gc.
collect
()¶ 运行垃圾回收。
-
gc.
mem_alloc
()¶ 返回分配的堆 RAM 的字节数。
与 CPython 的区别
此函数是 MicroPython 扩展。
-
gc.
mem_free
()¶ 返回可用堆 RAM 的字节数,如果此数量未知,则返回 -1。
与 CPython 的区别
此函数是 MicroPython 扩展。
-
gc.
threshold
([amount])¶ 设置或查询额外的 GC 分配阈值。通常,仅当无法满足新分配时才会触发集合,即内存不足 (OOM) 条件。如果调用此函数,除了 OOM 之外,每次分配了数量字节后都会触发一个集合(总共,自上次以来已经分配了这样数量的字节)。数量通常被指定为小于完整的堆大小,目的是在堆耗尽时更早地触发收集,并希望早期收集将防止过多的内存碎片。这是一种启发式度量,其效果会因应用程序而异,以及数量参数的最佳值。
不带参数调用函数将返回阈值的当前值。-1 值表示禁用分配阈值。
与 CPython 的区别
这个函数是一个 MicroPython 扩展。CPython 有一个类似的功能 -
set_threshold()
,但由于不同的 GC 实现,其签名和语义是不同的。