1

90MBのピークメモリ制限の問題に問題があります。

例: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

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

4

1 に答える 1

2

Somethignは、ページから移動したときにページがアンロードされないようにしています。おそらくどこかでリソースリークが発生していますが、コードが表示されない限り、それ以上の支援ができる可能性はほとんどありません。

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

于 2011-08-04T17:00:54.547 に答える