Xamarin - Sqlite.net 内存消耗非常高

Xamarin - Sqlite.net memory consumption is very high

我正在处理 Xamarin.Android 申请。在此应用程序中,我有本地数据库。我正在使用 sqlite.net 插件来管理 sqlite 操作。

在较低配置上测试应用程序时,我发现应用程序有内存消耗。在使用 Xamarin Profiler 检查时,我了解到大部分内存分配给了一种数据库方法[超过 50%]。

用于System.Linq.Enumerable:FirstofDefault<SQlite.TableMapping/Column>

我们可以手动释放这块内存吗?有什么办法吗?我们可以通过编程方式从应用程序中释放内存吗?

我试过 GC.Collect() 但没用。

是否有人知道此问题背后的真正原因?

经过一些研究,我发现我们可以使用PRAGMA函数来释放内存。

我们可以调用下面的查询来手动释放内存。

PRAGMA shrink_memory;