none
¿Qué ocurre con la Vista activa tras un GoBack? RRS feed

  • Pregunta

  • Buenaas

    Tengo una duda, ¿qué ocurre con la Vista que estaba activa antes de un GoBack?.

    Entiendo que tras un GoBack si vuelvo a acceder a la página donde estaba antes del goBack, realmente accedo a una nueva instancia de esa Vista. La cosa es que yo he supuesto que la instacia de la Vista incial  es liberadas de memoria sin que se indique explicitamente cuando el usuario hace GoBack. ¿Es así? o ¿debe ser indicado explicitamente?

    Un saludo!!!


    • Editado Sergio Navarro jersiovic sábado, 19 de noviembre de 2011 15:54 He quitado de la pregunta los ViewModels pues su ciclo de vida depende del ViewModelLocator
    sábado, 19 de noviembre de 2011 15:20

Respuestas

  • Hola!

    Efectivamente, cuando haces un GoBack la vista actual es enviada al GC para ser destruita. Se comporta como cualquier otro objeto, si dejas referencias, manejadores de eventos y demás en tu página no se reciclará. tienes un método en la vista que puedes sobreescribir llamado OnNavigatedFrom que se ejecuta justo antes de salir, sería bueno tener un método Unload en tu viewmodel que pudieses invocar desde el OnNavigatedFrom de la vista y que se encargase de destruir manejadores de eventos y referencias "vivas". De esta forma el GC será más efectivo.

    Un saludo!


    MCTS - .NET 4.0 Windows Applications
    MCTS - .NET 4.0 Data Access
    MCTS - .NET 4.0 Service Communication Applications
    MCPD - .NET 4.0 Windows Developer
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter
    lunes, 21 de noviembre de 2011 6:17
    Moderador

Todas las respuestas

  • Hola!

    Efectivamente, cuando haces un GoBack la vista actual es enviada al GC para ser destruita. Se comporta como cualquier otro objeto, si dejas referencias, manejadores de eventos y demás en tu página no se reciclará. tienes un método en la vista que puedes sobreescribir llamado OnNavigatedFrom que se ejecuta justo antes de salir, sería bueno tener un método Unload en tu viewmodel que pudieses invocar desde el OnNavigatedFrom de la vista y que se encargase de destruir manejadores de eventos y referencias "vivas". De esta forma el GC será más efectivo.

    Un saludo!


    MCTS - .NET 4.0 Windows Applications
    MCTS - .NET 4.0 Data Access
    MCTS - .NET 4.0 Service Communication Applications
    MCPD - .NET 4.0 Windows Developer
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter
    lunes, 21 de noviembre de 2011 6:17
    Moderador
  • Ok pues yo no entiendo eso, antes no tenia que encargarme de nada hacias el metodo goback directamente sin tener nada en cuenta ahora con Windows Phone 8.1 universal y Windows Store universal si hay que tener algo en cuenta, pàra que funcione, exactamente que hay que hacer, por ej el codigo para ir a una pagina es 

    this.Frame.Navigate(typeof(Register));

    ahora cuando le da el usuario a boton de atras de Windows Phone y se lanza el evento goback ¿que hay que hacer?, saludos.

    sábado, 13 de diciembre de 2014 13:08