【MicroPython编程】-深入了解MicroPython 的垃圾收集
深入探究 MicroPython 的垃圾收集
文章目录
- 深入探究 MicroPython 的垃圾收集
-
- 1、MicroPython GC 的基本概念
-
- 1.1 什么是垃圾回收?
- 1.2 MicroPython 的 GC 工作原理
- 2、使用方法
- 3、常见做法
-
- 3.1 监控内存使用情况
- 3.2 在内存中触发 GC - 密集型操作
- 4、最佳实践
-
- 4.1 最小化内存分配
- 4.2 使用生成器
- 4.3 谨慎使用递归
- 5、总结
MicroPython 是 Python 3 编程语言的精简高效实现,包含 Python 标准库的一小部分,并针对微控制器和性能受限的系统进行了优化。MicroPython 的关键功能之一是垃圾收集器 (gc)。垃圾收集器负责自动回收程序不再使用的内存,这在资源受限的环境中至关重要,例如内存有限的微控制器环境。本文将探讨 MicroPython gc 模块的基本概念、使用方法、常见实践和最佳实践。
1、MicroPython GC 的基本概念
1.1 什么是垃圾回收?
垃圾回收是一种自动内存管理技术。在编程中,当我们创建对象(变量、列表等)时,会分配内存来存储这些对象。当这些对象不再需要时,它们占用的内存应该被释放,以便程序的其他部分可以使用。垃圾回收器会识别这些“垃圾”对象(即程序中不再可访问的对象),并回收它们占用的内存。
1.2 MicroPython 的 GC 工作原理
MicroPython 使用标记-清除垃圾回收算法。标记阶段会遍历所有从程序根目录仍然可访问的对象(例如全局变量、活动函数中的局部变量)。可访问的对象被标记为“活动”。在清除阶段,垃圾回收器会扫描整个内存空间,并释放所有未标记对象(这些对象被视为垃圾)的内存。
2、使用方法
1)导入 gc 模块</