2011-01-10 9 views
0

Ich habe ein Silverlight Prism-Projekt entwickelt, um ein Speicherleck zu replizieren. Ich wundere mich nur über den Lebenszyklus eines Prismenmoduls.Prism Module Lifecycle

Wenn ich in einem Modul eine Ansicht registriere, wird die Ansicht zerstört, wenn das Modul nicht mehr benutzt wird?

Teilt auch jedes Modul den gleichen Abhängigkeitscontainer (z. B. Einheit) oder hat jedes Modul ein separates?

Ich habe eine mehr in die Tiefe Frage hier

https://stackoverflow.com/questions/4652364/memory-usage-is-suspect-when-loading-prism-modules

Ich versuche, einige Unstimmigkeiten mit der Speichernutzung zu verstehen, beim Öffnen und Schließen Prisma-Module.

Antwort

1

1) Der Zeitpunkt, zu dem die Ansicht zerstört wird, hängt davon ab, wie Sie die Sicht auf den Container registriert haben. Wenn Sie den Objektlebenszyklus während der Registrierung nicht geändert haben, wird er zerstört, wenn der GC ihn findet, ohne dass ein Objekt darauf verweist. Wenn Sie während der Registrierung explizit einen Lifetime Manager angegeben haben, wird die Ansicht je nach der vom Manager verwalteten Lebensdauer zerstört. Ein Beispiel: Wenn Sie einen Unity-Container verwenden und die Ansicht mit einem ContainerControlledLifetimeManager registriert haben, wird die Ansicht zerstört, wenn der Container zerstört wird.

2) Alle Module teilen sich einen Container, solange Sie keinen eigenen Container für jedes Modul erstellen.

Verwandte Themen