:mod:`gc` -- 控制垃圾回收器 ========================================== .. module:: gc :synopsis: 控制垃圾回收器 该模å—实现相应CPython模å—çš„å集,如下所示。更多信æ¯ï¼Œè¯·å‚è§: |CPython文档| :mod:`python:gc`. 函数 --------- .. function:: enable() å¯ç”¨åžƒåœ¾è‡ªåŠ¨æ”¶é›†ã€‚ .. function:: disable() ç¦ç”¨åžƒåœ¾è‡ªåŠ¨æ”¶é›†ã€‚å †å†…å˜ä»å¯åˆ†é…,ä»å¯ä½¿ç”¨ `gc.collect()` 手动å¯åŠ¨åžƒåœ¾å›žæ”¶ã€‚ .. function:: collect() è¿è¡Œåžƒåœ¾å›žæ”¶ã€‚ .. function:: mem_alloc() 返回分é…çš„å †RAMçš„å—节数é‡ã€‚ .. function:: gc.mem_free() .. admonition:: 与CPython区别 :class: attention æ¤å‡½æ•°ä¸ºMicroPython扩展。 .. function:: mem_free() 返回å¯ç”¨çš„å †RAMçš„å—节数é‡ã€‚ .. admonition:: 与CPython区别 :class: attention æ¤å‡½æ•°ä¸ºMicroPython扩展。 .. function:: threshold([amount]) 设置或查询é¢å¤–çš„GC分é…é˜ˆå€¼ã€‚é€šå¸¸ï¼Œä»…åœ¨æ— æ³•æ»¡è¶³æ–°åˆ†é…æ—¶ï¼Œæ‰ä¼šè§¦å‘一个集åˆï¼Œå³å†…å˜ä¸è¶³ï¼ˆOOM)时。若调用该函数,除OOM之外, æ¯æ¬¡åˆ†é…å—节数之åŽéƒ½ä¼šè§¦å‘一个集åˆï¼ˆæ€»ä¹‹ï¼Œè‡ªå‰ä¸€æ®µæ—¶é—´åŽï¼Œå·²åˆ†é…了相当数é‡çš„å—节)。数é‡é€šå¸¸è¢«æŒ‡å®šä¸ºå°‘äºŽæ»¡å †å¤§å°ï¼Œ å…¶ç›®çš„æ˜¯åœ¨å †è€—å°½å‰è§¦å‘一个集åˆï¼Œä¸”å¸Œæœ›å‰æœŸé›†åˆèƒ½å¤Ÿé˜²æ¢è¿‡åº¦å†…å˜ç¢Žç‰‡ã€‚这是一ç§å¯å‘å¼çš„åº¦é‡æ–¹æ³•,其效果éšåº”用程åºä¸åŒè€Œä¸åŒï¼Œ å…¶æ•°é‡å‚数的最优值也ä¸å°½ç›¸åŒã€‚ æ— å‚æ•°è°ƒç”¨è¯¥å‡½æ•°å°†è¿”回阈值的当å‰å€¼ã€‚-1值表示ç¦ç”¨é…置阈值。 .. admonition:: 与CPython区别 :class: attention 该函数为MicroPython的扩展。CPython有一个类似函数 ``set_threshold()`` ,但由于ä¸åŒçš„GC实现,其ç¾å与è¯ä¹‰ä¹Ÿä¸åŒã€‚