NodeMCU 数据类型 String 的大小

一个 String 占用多少堆空间?

我进行了以下操作:

  • node.heap() 它返回 1000
  • k = "e"
  • node.heap() 返回 924

这个变量占用了 72 字节的堆空间?

按照理论应该是 [1 个字节的变量值] + [其他字节,比如变量名称、地址、可用性、长度等],这些都不会超过 10 字节吧?

或者是因为 node.heap() 的内存碎片

如果在程序执行之前将 K 初始化为 k = "",在运行时再将值放入 `k`,它会占用更少的堆空间吗?

NodeMCU 信息:Lua 5.1.4,SDK 2.2.1,ESP8266 12F

点赞