关于函数gatt_add_client_uuid()的一些问题
-
我这边需要针对不同类型的从机特征值添加不同的Gatt客户端,因此用到了gatt_add_client_uuid()这个函数。实测运行时发现一个现象:
我测试用的从机拥有10个Characteristic Value,FR8012H作为主机连接到这个从机,把这10个Characteristic Value发现完后调用gatt_add_client_uuid()函数添加Gatt客户端,之后检查FR8012H的剩余可用内存。
上电完没连接之前为23400左右:

连上从机后,调用gatt_add_client_uuid()之前为23100左右:

调用之后剩余21700左右:

后面我断开蓝牙连接再检查一次内存,剩余22200左右:

为什么断开连接后内存没有完全释放?后面我让FR8012H重新连接并调用gatt_add_client_uuid()之后可用内存仍然剩余21700左右,但如果我做多连接的话,每个连接可能都会占用掉一部分无法释放掉的内存,长期使用很容易出现问题。有没有什么方法可以解决?
-
尝试在断开连接时调用gatt_clear_remote_svc()函数,问题没有解决
