MemoryError:内存分配失败Micropython
Posted
技术标签:
【中文标题】MemoryError:内存分配失败Micropython【英文标题】:MemoryError: memory allocation failed Micropython 【发布时间】:2022-01-22 09:54:35 【问题描述】:我正在使用带有很多组件的 ESP32 卡,特别是 ssd1306 屏幕,我找到了一个可以在屏幕上放置字母的库,简而言之,当我在测试中调用该库时遇到问题问题是这个:
Traceback (most recent call last):
File "main.py", line 25, in <module>
File "hello_world.py", line 1, in <module>
MemoryError: memory allocation failed, allocating 136 bytes
我把图书馆放在这里:https://github.com/nickpmulder/ssd1306big/blob/main/ssd1306big.py
还有我的世界:
import ssd1306big
import time
write = ssd1306big
while True:
write.clear()
write.wrap("Hello")
time.sleep(5)
【问题讨论】:
【参考方案1】:如果您有很多组件和库并希望最大限度地减少内存使用量,您有两个选择:将库冻结到固件中(最佳内存优化选项)或使用 mpy-cross 将库“编译”成字节码以降低内存使用率. https://github.com/robert-hh/Shared-Stuff
【讨论】:
以上是关于MemoryError:内存分配失败Micropython的主要内容,如果未能解决你的问题,请参考以下文章
在 Ruby 中分配内存失败(No MemoryError)?
场景应用:Java 出现 Out Of MemoryError(OOM 错误)的原因有哪些?出现 OOM 错误后,怎么解决?
MemoryError:无法为形状(725000、277、76)和数据类型 float64 的数组分配 30.4 GiB