0

私は Windows Phone アプリを開発しています。私のページの 1 つで、大量の UIElements をロードするパノラマを使用して、メモリを十分に使用しています。そのビューに移動するたびにページが最初から作成されるため、ページ インスタンスを再利用する方法はありますか? または、UIElements が複数回作成されないようにする他の方法はありますか?

編集:

ナビゲーション プロセスは次のとおりです。

HomePage -> Secundary Page
Back
HomePage -> Secundary Page
Back
HomePage -> Secundary Page
etc.

私が望むのは、最初のナビゲーションの後に二次ページ インスタンスを再利用することです。

ありがとう

4

2 に答える 2

1

PhoneApplicationPageのライフサイクルはランタイムによって完全に管理されているため、影響を与えることはできません。ユーザーがページから戻った場合、次回は再作成されます。このドキュメントの「OnNavigatedFrom メソッド」セクションを参照してください。

実際、セカンダリ ページを絶対にメモリに保持したい場合は、セカンダリ ページの通常の [戻る] ボタンの動作をオーバーライドして、メイン ページに戻る代わりにメイン ページに進むことができます。もちろん、KooKiz の回答に記載されている副作用を避けるために、バックスタックを整理しておく必要があります。

決定するのはガベージ コレクターに任されているため、セカンダリ ページがメモリ内にとどまることが保証されていないことに注意してください。消費するメモリ ページが多いほど、GC の候補として適しています。

于 2013-06-26T12:57:00.390 に答える