複合アプリケーションの概念を学んでいます。Unityコンテナを使用してプリズムアプリケーションを作成しました。コンテンツコントロールとして構成されたリージョンの1つ-このリージョンでは、単一のビューのみを表示したいと思います。
私は次の方法でビューインジェクションを使用しています:
object lastView;
// View injection
IRegion region = regionManager.Regions["MainRegion"];
var ordersView = container.Resolve<OrdersView>();
lastView = ordersView;
region.Add(ordersView, "OrdersView");
region.Activate(ordersView);
この地域のビューは頻繁に切り替えられます。region.remove(lastView)
上記のコードのような次のビューを使用して追加する前に、ビューを切り替えます。
実装が適切かどうかわからないので、いくつか質問があります。region.removeメソッドを使用している場合、削除されたビューは破棄されますか?長い目で見れば、深刻なメモリリークが発生するからです。メモリリークを回避しながら、リージョンに単一のビューを実装するための最良の方法は何ですか?
ありがとう