0

XMLDocumentクラスを連続して複数回使用してXMLドキュメントをロードおよび解析すると、MonoforAndroidアプリのメモリが不足していると思います。

ガベージコレクターが、使用可能なメモリが7367Kしかないことを報告しているようですが、これはかなり少ないようです。

構成または実行時にこれを増やすにはどうすればよいですか?

4

2 に答える 2

0

各アプリケーションで使用されるAndroidの仮想マシンのメモリは非常に限られています。ほとんどの場合16MB、その他の場合は24MBです。私もその制限に出くわしました。まず、アプリケーションにメモリリークがないことを確認する必要があります。それだけでは不十分な場合は、ガベージコレクターへの呼び出しを強制することを検討する必要があります:http://docs.xamarin.com/android/advanced_topics/garbage_collection。また、GCを呼び出すと、アプリケーションの速度が低下することにも注意してください。

誰かがより良いオプションを持っているなら、私はそれについて知ってとてもうれしいです!

于 2012-08-14T10:54:45.643 に答える
0

XmlDocumentにバグがあり、状況によってはクラッシュすることがわかりました(大きなXMLファイル(〜180K)を順番にすばやくロードする)。これをXamarinに報告して、さらに調査できるかどうかを確認します。

代わりにXmlTextReaderを使用するようにコードを変換した後、メモリの動作が変更されました。これで、システムはGCサイクル中に報告されるヒープサイズを動的に増加させます。サイズは必要に応じて上下し、何もクラッシュしません。

XmlDocumentコードでは、ヒープサイズを増やす代わりに、クラッシュしました。

于 2012-08-15T20:44:50.357 に答える