MvvmCross ViewModel almacena en caché y reinicializa

Necesito poder interceptar el marco y realizar una reinicialización cuando se está cargando un ViewModel desde el caché. Como el ViewModel no se está recreando, no puedo usar los métodos Init (), MvxViewModel.InitFromBundle, ni MvxViewModel.ReloadFromBundle.

Estoy intentando depurar una situación en la que hacer clic en el botón Atrás restaura un ViewModel con un estado inconsistente. Algún tipo de MvxViewModel.OnReloading () ayudaría.

¿Hay alguna manera de hacer esto en v3?

EDITAR:

Supongamos que tengo FirstPageViewModel que expone un comando para navegar a SecondPageViewModel. Según lo que estoy observando, si hace clic en el botón Atrás del simulador mientras está en SecondPageView, FirstPageViewModel no está construido. En su lugar, creo que se recupera de un caché y luego se vincula a la Vista. Este caché es posiblemente una implementación del caché IMvxSingleViewModel.

Por lo tanto, el flujo regular después de la construcción de ViewModel, donde llama a Init (), InitFromBundle () y ReloadFromBundle () no se aplica en este escenario. En otras palabras, necesito una forma de reinicializar un ViewModel sin importar si se acaba de construir o si está siendo resucitado de un caché. Si es el primero, puedo usar un método Init (). Si esto último es cierto, no hay forma de hacerlo dentro del propio ViewModel.

Este es el problema:

Tengo una instancia de ICollectionService que se pasa de FirstViewModel a SecondViewModel. FirstView también contiene un ListView que está vinculado a este CollectionService. Debido a que CollectionService no está muy tipeado, puedo pasarlo y usar la plantilla de elementos adecuada para representar sus elementos en la vista.

Antes de mostrar SecondViewModel, FirstViewModel recupera algunos datos remotos y llena el CollectionService. Cuando se muestra SecondViewModel, su vista muestra los datos del servicio de recolección utilizando una plantilla de elemento diferente. Sin embargo, si navego hacia atrás, ya que FirstViewModel aún hace referencia al CollectionService, FirstView renderizará los datos utilizados por SecondViewModel a menos que FirstViewModel pueda reinicializarse, borrando el CollectionService en el proceso. Tal vez el enfoque sea incorrecto, pero este es el quid de mi problema.

No sé si la plataforma hace una diferencia, ya que esperaría el mismo comportamiento en Windows Phone e iOS ya que esta reinicialización ocurrirá en el módulo Core. Sin embargo, estas son observaciones en Android.

TIA.

Respuestas a la pregunta(2)

Su respuesta a la pregunta