Merge pull request #550 from AzureRubia-Guet/patch-2

Update mem.md
This commit is contained in:
Caize Wu
2023-10-11 15:43:21 +08:00
committed by GitHub

View File

@@ -10,7 +10,7 @@ desc: maixpy 内存管理
*`mpy`层面写的代码, 变量都是存在`GC`管理的内存块中,比如定义一个变量`a = [1,2,3,4]`, 如果`GC'`内存不足了, 会自动触发`gc.collect()`函数的执行, `GC`会自动把没有在使用了的变量给销毁,留出来空间给新的变量使用。
> `GC`使用`标记-清除`的方式进行内存回收,有兴趣可以看[这里](https://neucrack.com/p/46)
* 因为`GC`要扫描内存, 如果除了程序占用的内存,剩下的都给`GC`,那每次扫描需要耗费大量时间,所以分成了两内存。 堆内存由 `C`层面的代码控制,主要用于图片内存, AI内存 LCD 内存, 以及模型加载到内存等
* 因为`GC`要扫描内存, 如果除了程序占用的内存,剩下的都给`GC`,那每次扫描需要耗费大量时间,所以分成了两内存。 堆内存由 `C`层面的代码控制,主要用于图片内存, AI内存 LCD 内存, 以及模型加载到内存等
`GC` 内存的总大小是可以设置的, 所以,根据具体的使用情况可以适当修改`GC`内存大小, 比如:
* 为了加载更大的模型,可以把 `GC`内存设置小一点