Xamarin - Sqlite.net 内存消耗非常高
Posted
技术标签:
【中文标题】Xamarin - Sqlite.net 内存消耗非常高【英文标题】:Xamarin - Sqlite.net memory consumption is very high 【发布时间】:2021-01-10 14:38:27 【问题描述】:我正在开发 Xamarin.android 应用程序。在这个应用程序中,我有本地数据库。我正在使用 sqlite.net 插件来管理 sqlite 操作。
在较低配置下测试应用程序时,我发现应用程序有内存消耗。在使用 Xamarin Profiler 检查时,我了解到大部分内存被分配给一种数据库方法 [超过 50 %]。
用于System.Linq.Enumerable:FirstofDefault<SQlite.TableMapping/Column>
。
我们可以手动释放这个内存吗?有什么办法吗?我们可以以编程方式从应用程序中释放内存吗?
我试过GC.Collect()
,但没用。
如果有人知道这个问题背后的实际原因吗?
【问题讨论】:
通常返回序列的方法使用延迟执行。这是一个类似的问题,也许可以帮助你。***.com/questions/41875875/… 【参考方案1】:经过一番研究,我发现我们可以使用PRAGMA
function来释放内存。
我们可以调用下面的查询来手动释放内存。
PRAGMA shrink_memory;
【讨论】:
以上是关于Xamarin - Sqlite.net 内存消耗非常高的主要内容,如果未能解决你的问题,请参考以下文章