当前位置: 首页 > news >正文

【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 模块</

http://www.dtcms.com/a/394459.html

相关文章:

  • STM32F429I-DISC1【板载LED呼吸灯】
  • OBOO鸥柏工业触摸屏:信创国产化芯片驱动,展现军工级卓越性能
  • Ubantu命令行指令大全
  • 字节面试题:正则化技术如何影响网络梯度
  • Java进阶教程,全面剖析Java多线程编程,死锁,笔记15
  • 【含文档+PPT+源码】基于SpringBoot+Vue的车牌识别实时交通流量统计系统
  • C++动态规划4
  • chmod命令
  • kernel 6.6中新增的EEVDF特性
  • MATLAB M代码解释器设计与C++实现
  • nivida jetson orinnx torch环境搭建
  • Java进阶教程,全面剖析Java多线程编程,线程的生命周期,笔记11
  • Javase 基础加强 —— 12 网络编程
  • 【04】EPGF 架构搭建教程之 工具环境变量的配置
  • Oracle -运维学习路线 --学习篇1
  • 三个余弦:平方和凑成1时会发生什么
  • 碧蓝航线装备参数探究——关于金色之耻
  • Golang圖書館
  • linux命令--迭代积累
  • Unity2D-物理系统
  • 崩铁 预言算牌 解谜
  • 解锁AI巨型模型训练:DeepSpeed ZeRO Offload 全面指南
  • python语言中的常用容器(集合)
  • Python 程序控制流程综合编程
  • Java进阶教程,全面剖析Java多线程编程,同步方法,笔记13
  • 1.6 虚拟机 (答案见原书 P33)
  • 【C++练习】26.在 C++ 中,不使用 “strcpy“ 函数将一个字符串复制到另一个字符串
  • 【分布式技术】Baerer token刷新机制详细解读
  • 第十三章 Ant与Jenkins的集成
  • 通义万相正式开源Wan2.2-Animate动作生成模型