2011-08-04 3 views
1

私は90MBのピークメモリ制限の問題に問題があります。WP7 - Xamlのページとピークメモリの問題

例:1つのパノラマアプリケーション(既定のコンテンツ)を作成し、3つのピボットページまたは6つのポートレートページ(ページAとページB ..空白のコンテンツ)を追加します。これらのページの間を移動して戻るたびに、メモリの使用量はますます高くなります。最後に、それは90mbの限界を通過します。

私はこのようにナビゲートするためにボタンを使用します。ページ間をナビゲートしている間

private void btn1_Click(object sender, RoutedEventArgs e) 
{ 
    NavigationService.Navigate(new Uri("/PageA.xaml", UriKind.Relative)); 
} 

は、私は重要な何かを欠場か?私はガベージコレクタについて聞いた解決策を探している間に?どうやって使うことができますか?

回答が見つかりませんでした。私はこの類似のトピック:http://forums.create.msdn.com/forums/p/76007/466968.aspxが見つかりましたが、最終的な解決策はありません。

注:Coding4funツールキットを使用してメモリ使用量を測定しています。


編集:私はいくつかのピボットページ(コンテンツとの1)とサンプルパノラマアプリケーションを作成しました。

http://i54.tinypic.com/zfip.jpg

は開始時に、アプリケーションが30メガバイトで開かれました。同じピボットページに数回移動した後、Peakmemoryは少しずつ増加し始め、47mbで停止しました。これは正常ですか?たぶん、私はこのアプリケーションを構築することのダイナミクスを理解していませんでした。しかし、ラムの使用量を増やし、アプリケーションを使用した後にクラッシュすると意味がありません。

答えて

2

あなたがページから離れて移動すると、あなたのページがアンロードされなくなります。あなたはたぶんどこかでリソースリークがありますが、あなたのコードを見ることなく、もっと助けることはほとんどありません。

ガベージコレクションについて心配する必要はありません。

+0

こんにちは、レーシー、ご返信ありがとうございます。私は愚かなサンプルを追加しました:)本当に基本的なコンテンツがありますが、ピークメモリーの使用量はまだ増加しています。これは正常ですか?ポートレートページを使うようにしますか? – FrankCap

+0

@FrankCapページの向きはこれに影響しません。イベントハンドラをページに登録しておき、後で削除することはおそらくありません。それは、Webをたくさんダウンロードし、リソースを手動で解放しないことです。 –

+0

申し訳ありませんMybad、PortraitPageの意味は簡単なPhonePageです。 Btw、サンプルで私はローカルイメージとテキストブロックを使用しました。リソースを解放する方法を学ぶためのガイドや方法はありますか?ご助力ありがとうございます – FrankCap

関連する問題