none
fechar arquivo ao sair da aplicação RRS feed

  • Pergunta

  • Estou começando meus estudos sobre Windows Phone e gostaria de saber como fazer para fechar um arquivo que foi aberto em MainPage.xmal.cs ao fechar a aplicação..sei que em App.xaml.cs tem o método Application_Closing...mas como fazer para acessar a instância do meu BufferedReader que está em MainPage?

    Desde já, muito obrigado!

    sexta-feira, 26 de outubro de 2012 13:27

Respostas

  • Pelo que tem mencionado, eu diria que o melhor mesmo seria você trabalhar com isso na página e não na saída do aplicativo. Se fizer todo o trabalho na entrada da página (onnavigatedto e from) acredito que controlará melhor seu processo. Parece, lendo um pouco sobre o que está tentando, uma situação melhor.

    Sobre profiler, sim, temos...
    vai em debug no VS, verá algo do tipo "start windows phone performance analysis". ali você irá iniciar a execução da app e ele puxará todo o uso de memória, threads, GC, etc..
    No mais, utilize isso junto com o marketplace test kit para subir a app e não ter problemas quando o fizer. vai ver como ambas as tools te ajudarão!


    Rodolpho Marques do Carmo Microsoft MVP - Windows Phone Development @rodocarmo http://www.conexaowindows.com http://www.rodolphomarques.com http://www.windowsphonebrasil.net

    • Marcado como Resposta juliocbcotta quinta-feira, 8 de novembro de 2012 18:35
    quinta-feira, 8 de novembro de 2012 18:24
    Moderador

Todas as Respostas

  • Sem estar muito a par do que está tentando realmente fazer e sem saber se sera o mlhor cenário, mas caso queira fazer qualquer ação na hora que sair de uma página qualquer, use o evento OnNavigatedFrom da sua página, ok?


    Rodolpho Marques do Carmo Microsoft MVP - Windows Phone Development @rodocarmo http://www.conexaowindows.com http://www.rodolphomarques.com http://www.windowsphonebrasil.net

    sábado, 27 de outubro de 2012 17:18
    Moderador
  • Rodolpho, O que eu queria mesmo é que ao sair da aplicação um arquivo fosse fechado. Só isso.

    Muito obrigado pela ajuda.

    quarta-feira, 7 de novembro de 2012 13:29
  • como mencionei, caso queira fazer qualquer ação na saída da página, use o on navigated from.

    se quiser uma ação na saída do app, use o app.xaml e veja os eventos de "closing" e também "deactivated". dê uma estudada no ciclo de vida e entenda que nem sempre você tem como saber que o usuário quer sair da aplicação, afinal é um telefone, não somente um PC.

    dessa forma, ele pode atender uma ligação, sua app ainda não foi morta totalmente, ele pode querer voltar...ou não.

    enfim, procura por lifecycle e também verifique os eventos que te mencionei.

    por último, verifique se não é possível fechar isso antes, pois o acúmulo de ações no closing não é recomendado, a ideia é que vá fechando tudo assim que puder, minizando o impacto de performance na saída (assim como na entrada) de um app. se o seu aplicativo não fechar rapidamente, o sistema operacional irá matar o processo (e seu método poderá não acontecer da forma que deseja). Portanto, tome cuidado e faça testes em aparelhos reais, ok?

    grande abraço!


    Rodolpho Marques do Carmo Microsoft MVP - Windows Phone Development @rodocarmo http://www.conexaowindows.com http://www.rodolphomarques.com http://www.windowsphonebrasil.net

    quarta-feira, 7 de novembro de 2012 14:13
    Moderador
  • Eu acabei lendo o conteúdo do arquivo todo de uma vez e fechando ele assim que possível. Isso fez o app utilizar mais memória ram, mas acredito que esteja aceitável. A minha duvida com relação a utilização dos métodos Application_Closing é..

    Suponha que eu tenha um BufferedReader em MainPage.xml.cs, como acessar esse objeto a partir do método Application_Closing para executar o close()?  Acredito que sabendo fazer isso irei saber como abrir o arquivo também a partir do App.xaml.cs.

    OFF-TOPIC: Como medir o consumo de memoria ram de um aplicativo? Existe algum profiler para WP?

    Desde já, muito obrigado!

    quinta-feira, 8 de novembro de 2012 18:19
  • Pelo que tem mencionado, eu diria que o melhor mesmo seria você trabalhar com isso na página e não na saída do aplicativo. Se fizer todo o trabalho na entrada da página (onnavigatedto e from) acredito que controlará melhor seu processo. Parece, lendo um pouco sobre o que está tentando, uma situação melhor.

    Sobre profiler, sim, temos...
    vai em debug no VS, verá algo do tipo "start windows phone performance analysis". ali você irá iniciar a execução da app e ele puxará todo o uso de memória, threads, GC, etc..
    No mais, utilize isso junto com o marketplace test kit para subir a app e não ter problemas quando o fizer. vai ver como ambas as tools te ajudarão!


    Rodolpho Marques do Carmo Microsoft MVP - Windows Phone Development @rodocarmo http://www.conexaowindows.com http://www.rodolphomarques.com http://www.windowsphonebrasil.net

    • Marcado como Resposta juliocbcotta quinta-feira, 8 de novembro de 2012 18:35
    quinta-feira, 8 de novembro de 2012 18:24
    Moderador
  • Muito obrigado pela ajuda Rodolpho!

    Vou dar um confere no profiler!

    quinta-feira, 8 de novembro de 2012 18:35