1. 内存使用情况查询
1. 内存使用情况查询
以下介绍常用的内存使用情况查询 API,如果想了解更多,请参考 堆内存分配。
1.1 esp_get_free_heap_size()
在正常编译烧录示例的基础上加入了以下代码来打印空闲堆内存:
printf("free_heap_size = %d\n", esp_get_free_heap_size());
你可以分别在需要检测内存使用情况的 API 前后添加此 API,如刚进入 app_main() 函数时、完成 Wi-Fi 或 BLE 初始化时和 app_main() 函数结束时加上上述代码来打印查看空闲堆内存。比如使用以下代码来检测 wifi_init_sta()
的内存使用情况:
printf("before init wifi : free_heap_size = %d\n", esp_get_free_heap_size());
wifi_init_sta();
printf("after init wifi : free_heap_size = %d\n", esp_get_free_heap_size());
以下是对应 log:
before init wifi : free_heap_size = 270848
I (596) wifi:wifi driver task: 3ffc1d30, prio:23, stack:6656, core=0
I (596) system_api: Base MAC address is not set
I (596) system_api: read default base MAC address from EFUSE
I (626) wifi:wifi firmware version: 10db11f
I (626) wifi:wifi certification version: v7.0
I