1

我正在开发 Xamarin.Android 应用程序。在这个应用程序中,我有本地数据库。我正在使用 sqlite.net 插件来管理 sqlite 操作。

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

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

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

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

如果有人知道这个问题背后的实际原因?

4

1 回答 1

0

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

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

PRAGMA shrink_memory;
于 2020-10-06T05:54:01.963 回答