MVVM Light - ViewModel, a SimpleIoC

0

Witam.
Korzystam z frameworka MVVM Light (do WinRT) i wbudowanego w nim IoC (SimpleIoC). Czy jest sens odrejestrowywać ViewModel z SimpleIoC podczas nawigacji do innej strony (do innego ViewModela) ? Domyślam się, że dopiero wtedy ten ViewModel zostanie zebrany z pamięci (no i po wywołaniu Cleanup() jeśli korzysta się z Messengera). Czy może lepiej przy nawigacji wyczyścić obiekty, które sporo zajmują (jakieś ObservableCollection itp.) i niech sobie ten ViewModel żyje przez cały czas trwania aplikacji? Zakładam, że strona podbindowana do tego ViewModelu może być często otwierana.

0

Zbytnio nie masz wpływu na działanie GarbageCollectora. To ,że wyczyścisz VM lub obiekty nie oznacza, że fizycznie dostępna pamięć wzrośnie. Ona wzrośnie tylko wtedy gdy GC tak zadecyduje. A czyszczenie obiektów i ich tworzenie zawsze zajmuje sporo czasu. Pytanie czy zysk pamięci jest opłacalny biorąc pod uwagę skok zuzycia czasu procesora jeśli VM będzie często otwierany. Ja osobiście zostawił bym VM w IoC bo skoro ma być często otwierany to może dojść do sytuacji, że GC nie sprzątnie starego obiektu a ja otwieram już drugi i w pamięci będę miał 2 obiekty VM ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1