none
App Universal abierta RRS feed

  • Pregunta

  • Buenos días,

    hace dos semanas actualice una de mis apps que fuese universal y me he encontrado con dos problemas uno de ellos en rendimiento. En la versión anterior, cuando echabas hacia atrás la App se cerraba pero ahora se queda en background como en Windows. ¿Qué debo modificar para cambiar este comportamiento? Pero el mayor problema que he tenido es con el uso, cuando abres un nuevo frame y después de haberlo usado navegas hacia atrás, no se libera de la memoria! Y vuelves entrar y se carga uno nuevo aumentando el consumo de memoria. Como hay usuarios que llegan a entrar y salir casi 100 veces... se les esta cerrando la App. He hecho las pruebas y he visto que la memoria va creciendo el consumo muy rápido por este motivo. ¿Cómo puedo corregir este problema? Me puede ayudar alguien?

    Muchas gracias

    sábado, 17 de enero de 2015 18:45

Respuestas

Todas las respuestas

  • >>En la versión anterior, cuando echabas hacia atrás la App se cerraba pero ahora se queda en background como en Windows.

    por lo que entiendo cuando pones en segundo plano, pero esta no se cierra inmediatamente ay que puede reactivarse

    Ciclo de vida de la aplicación (aplicaciones de Windows en tiempo de ejecución)

    como veras hay un ciclo de vida que genera eventos que podrias utilizar

     Webcast MSDN: El ciclo de vida de las apps de Windows Phone 8

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    sábado, 17 de enero de 2015 19:03
  • Buenos días Leandro,

    He mirado lo que me has pasado y desconocía el tema de forzar el cierre. Sobre los eventos de resuming y suspending ya los usaba para detener la reproducción y reactivarla. He leído la razón del comportamiento y me convence como para que siga activa la App si logro resolver el otro problema. Según he podido probar, están activas ya que por temas del evento suspending y resuming detecte que estaban activas varios Frames ya que intenta iniciar la reproducción de todos los videos que hay anteriormente, o notificando el error de no poder reproducirlo.

    Este "problema" es normal? Por si fuese algún problema de la librería externa que utilizo para reproducir ciertos formatos. En la versión de WP8.0 no me había pasado esto antes (en la de PC nunca había hecho la prueba hasta ahora). De hecho puedes navegar hacia adelante con el teclado, no se destruye el histórico. En el PC, mal que tenga este problema pero en los móviles dada las limitaciones por hardware están cerrándose muchas veces por este problema. Alguna idea por favor?

    Muchas gracias de nuevo

    domingo, 18 de enero de 2015 12:28
  • Hola,

    vuelvo a tener un pequeño problema con el ciclo de la vida de la App. Para solventar que se borren los objetos que se quedaban abiertos del reproductor he tenido que utilizar un playerFramework.dispose(); para que se liberase. Pero el problema esta en que solo lo debo ejecutar cuando se navega hacia atrás. Si lo ejecuto tanto en OnnavigateFrom como en saveState se destruye, hasta ahí bien. Pero si el usuario cambia de App este se ejecuta y se destruye y cuando vuelve a la aplicación no se puede reproducir ya que el reproductor ha sido destruido. ¿Qué es lo que puedo utilizar para saber si es suspending o no lo es para liberar el reproductor en su correcto momento?

    Muchas gracias de nuevo.

    lunes, 2 de febrero de 2015 22:12
  • Hola,

    solventado, el truco esta en los argumentos que están onNavigateTo/from que te indican el tipo de navegación que sufre y por tanto saber si suspending, o retroceso.

    Muchas gracias

    jueves, 19 de febrero de 2015 20:31