gc --- 控制垃圾回收器¶
本模組提供堆積垃圾回收器的介面:啟用或停用自動回收、強制立即回收、查詢已配置與可用的堆積記憶體量,以及調整觸發回收的配置閾值。
函式¶
- gc.disable() None¶
停用自動垃圾回收。堆積記憶體仍可配置,且仍可使用
gc.collect()手動啟動垃圾回收。
- gc.mem_free() int¶
回傳可供 Python 程式碼配置的堆積 RAM 位元組數,若無法得知此數量則回傳 -1。
與 CPython 的差異
此函式為 MicroPython 擴充功能。
- gc.threshold(amount: int | None = None) int | None¶
設定或查詢額外的 GC 配置閾值。通常只有在新配置無法被滿足時才會觸發回收,亦即在記憶體不足(OOM)的情況下。若呼叫此函式,則除了 OOM 之外,每當配置了 amount 位元組後(自上次配置如此數量的位元組以來的累計總量),也會觸發一次回收。amount 通常指定為小於完整堆積大小,目的是在堆積耗盡之前更早觸發回收,並期望提早回收能避免過度的記憶體碎片化。這是一種啟發式手段,其效果會因應用程式而異,amount 參數的最佳值也是如此。
不帶引數呼叫此函式會回傳目前的閾值。值為 -1 表示已停用配置閾值。
與 CPython 的差異
此函式為 MicroPython 擴充功能。CPython 有類似的函式
set_threshold(),但由於 GC 實作不同,其簽章與語意有所差異。