XMLDocumentクラスを連続して複数回使用してXMLドキュメントをロードおよび解析すると、MonoforAndroidアプリのメモリが不足していると思います。
ガベージコレクターが、使用可能なメモリが7367Kしかないことを報告しているようですが、これはかなり少ないようです。
構成または実行時にこれを増やすにはどうすればよいですか?
XMLDocumentクラスを連続して複数回使用してXMLドキュメントをロードおよび解析すると、MonoforAndroidアプリのメモリが不足していると思います。
ガベージコレクターが、使用可能なメモリが7367Kしかないことを報告しているようですが、これはかなり少ないようです。
構成または実行時にこれを増やすにはどうすればよいですか?
各アプリケーションで使用されるAndroidの仮想マシンのメモリは非常に限られています。ほとんどの場合16MB、その他の場合は24MBです。私もその制限に出くわしました。まず、アプリケーションにメモリリークがないことを確認する必要があります。それだけでは不十分な場合は、ガベージコレクターへの呼び出しを強制することを検討する必要があります:http://docs.xamarin.com/android/advanced_topics/garbage_collection。また、GCを呼び出すと、アプリケーションの速度が低下することにも注意してください。
誰かがより良いオプションを持っているなら、私はそれについて知ってとてもうれしいです!
XmlDocumentにバグがあり、状況によってはクラッシュすることがわかりました(大きなXMLファイル(〜180K)を順番にすばやくロードする)。これをXamarinに報告して、さらに調査できるかどうかを確認します。
代わりにXmlTextReaderを使用するようにコードを変換した後、メモリの動作が変更されました。これで、システムはGCサイクル中に報告されるヒープサイズを動的に増加させます。サイズは必要に応じて上下し、何もクラッシュしません。
XmlDocumentコードでは、ヒープサイズを増やす代わりに、クラッシュしました。