8

Windows 8 ネイティブ アプリを開発しています。アプリケーションをしばらく行ったり来たりした後、アプリがクラッシュします。分析では、メモリプロファイラーを使用して、あるページから別のページに移動するたびに、リスト、Webクライアント、文字列などのすべてのオブジェクトをnullに設定し、その後GC.Collectを呼び出すにもかかわらず、メモリ使用量が増加することがわかりましたNavigatedFrom イベント。

まず、画像が原因だと思ったので、アプリから画像を削除してテストしましたが、アプリのメモリ使用量に変化はありません。どういうわけか GC.Collect が機能せず、メモリを解放していません。

以下のことを試しましたが、運が悪かったためにメモリを解放することができず、代わりに結果は同じままです。

  • 新しいソースを設定する前に画像の urisource を null に設定し、gc.Collect を呼び出してメモリ使用量を解放しましたが、解放されていないようです

  • 次に、すべてのオブジェクトを null に設定し、GC.Collect() を呼び出しましたが、電話アプリのメモリ使用量からスペースを解放しません。

  • また、メモリ プロファイラを使用して分析しようとしましたが、何も追跡できません。

また、すべての投稿を確認し、提案されたものを実装しましたが、GC.Collect() はメモリを解放していないようです。

次の問題の回避策はありますか? あるページから別のページに移動する際に消費されるメモリを解放するにはどうすればよいですか?

4

1 に答える 1