各ノードが TreeNodeViewModel である Silverlight TreeView があります。TreeNodeViewModel のプロパティは、Text、IsSelected、ImageUri、および Parent です。約 700 から 1000 の TreeView アイテムを読み込んでいます。
HierarchicalDataTemplate のバインディングを介して TreeView をロードした後、IE ブラウザのフットプリントが約 48,000kb から 165,000kb に増加したようです。私は TreeView 自体に ViewModel を使用しています。これには、ExpandAll と CollapseAll のバインディングがあります。expand コマンドを実行すると、IE のフットプリントが 300,000kb 近くまで拡大し続けます。ツリーが完全に展開されると、展開と折りたたみを繰り返してもフットプリントは増加しません。つまり、すべての ViewModel が作成されると横ばいになるようです。
私の質問は、約 800 の TreeView アイテムをロードしている場合、フットプリントが私の場合と同じくらい大きくなると予想されますか? 大量のデータをロードすることで IE が過度に占有されるのを見たことがありますか?
私が開発している SL アプリの背景: ハードウェア デバイス (別名: サーバー) は独自のハードウェアであり、linksys ルーターに似た Web サーバーが組み込まれています。圧縮された構成ファイル (モデル エンティティ) がデバイスに読み込まれ、SL アプリがそれをダウンロードして解凍し、DataContractSerializer を使用して逆シリアル化します。ファイルは圧縮で約1.75MB、非圧縮で約12.5MBです。
私が最初に考えたのは、モデルの逆シリアル化のために IE のフットプリントが大きいということでした。最初に IE を起動したときのフットプリントは約 7500kb で、モデルをメモリにロードすると最大 48,000kb まで実行されます。
どんな考えや提案も大歓迎です。