我通过 FMDB 包装器在我的应用程序中使用 sqlite。
在调用 VACUUM 之前,我的应用程序的内存使用量为 2.25 MB:
[myFmdb executeUpdate: @"VACUUM;" ];
后记为 5.8 MB,我似乎无法回收内存。真空后,仪器/分配工具显示大量带有活动字节的 sqlite3MemMalloc 调用,每个调用分配 1.5 K。
没有关闭数据库并重新打开它(一个选项),我该如何清理它?
编辑:关闭并重新打开数据库连接确实会清除内存。这是我的解决方案,除非有人可以对此有所了解。