gc
– 控制垃圾收集器¶
警告
虽然这个基于 MicroPython 的库可能可用于某些 CircuitPython 版本,但它不受支持,并且其功能在未来可能会发生重大变化。随着 CircuitPython 的不断发展,它可能会更改以更紧密地符合相应的标准 Python 库。如果您依赖它当前提供的任何非标准功能,您以后可能需要更改您的代码。
该模块实现了相应 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 实现,其签名和语义是不同的。