繁体   English   中英

如何增加Mono for Android应用程序的堆大小?

[英]How do you increase the heap size of a Mono for Android application?

我有一个Mono for Android应用程序,当我连续多次使用XMLDocument类加载和解析XML文档时,我认为该内存不足。

我看到垃圾收集器报告我只有7367K的可用内存,这似乎很低。

如何通过配置或在运行时增加呢?

恐怕每个应用程序使用的Android虚拟机内存都非常有限:大多数情况下为16MB,其他情况下为24MB。 我也遇到了这个限制。 首先,您应该检查您的应用程序是否没有内存泄漏。 如果这还不够,那么您可能需要考虑强制调用垃圾回收器: http : //docs.xamarin.com/android/advanced_topics/garbage_collection 您还应该记住,调用GC将使您的应用程序变慢。

如果有人有更好的选择,我将非常高兴知道!

我发现XmlDocument中存在一个错误,该错误会导致XmlDocument在某些情况下崩溃(依次快速加载大型XML文件(〜180K))。 我将将此报告给Xamarin,以查看他们是否可以进一步调查。

在将代码转换为使用XmlTextReader之后,内存行为发生了变化。 现在,系统会动态增加在GC周期内报告的堆大小。 大小会根据需要增大和减小,并且不会崩溃。

使用XmlDocument代码,而不是增加堆大小,它只是崩溃了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM