Autore Topic: Chiudere la propria app  (Letto 8018 volte)

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1358
  • Respect: +156
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Chiudere la propria app
« il: 03 Giugno 2010, 21:29:30 CEST »
0
Visti i recenti problemi che li sviluppatori stanno avendo su Froyo in merito alla chiusura di una app, dal codice della stessa, posto questo snippet, che ho provato sul Nexus con Froyo e che quindi funziona.
Codice (Java): [Seleziona]
android.os.Process.killProcess(android.os.Process.myPid())
Postate il LogCat LogCat LogCat LogCat LogCat

Offline ScarfaceIII

  • Utente junior
  • **
  • Post: 112
  • Respect: +13
    • raferalston12
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Sistema operativo:
    GNU/Linux, Ubuntu 10.04 / Windows 7
Re:Chiudere la propria app
« Risposta #1 il: 03 Giugno 2010, 22:55:28 CEST »
0
yeah! il relatore del mio progetto mi ha fatto una testa così col chiudere *davvero* l'applicazione...lo provo sicuramente!!! grazie mille, funge anche con Eclaire vero?

grazie mille!!!

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1358
  • Respect: +156
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Chiudere la propria app
« Risposta #2 il: 04 Giugno 2010, 08:08:14 CEST »
0
Certo, funziona anche su versioni precedenti della 2.2
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Agafi

  • Utente normale
  • ***
  • Post: 173
  • Respect: +10
    • svetlana-tomasevschi-perini
    • agafist
    • Mostra profilo
  • Dispositivo Android:
    SE Xperia Neo,LG Optimus One,Asus EEE Pad Transformer,HTC Magic Vodafone
  • Play Store ID:
    Agafi
  • Sistema operativo:
    Win7
Re:Chiudere la propria app
« Risposta #3 il: 04 Giugno 2010, 08:15:39 CEST »
0
yeah! il relatore del mio progetto mi ha fatto una testa così col chiudere *davvero* l'applicazione...lo provo sicuramente!!! grazie mille, funge anche con Eclaire vero?

grazie mille!!!

Posso fare solo un piccolo appunto....

Di al tuo relatore di studiare l'architettura Android!!!!!!!e di non sparare Mxxxxxxxe!La chiusura di un'applicazione da parte propria fuori dal ciclo di vita corretto del sw è una cosa non corretta da fare sopratutto se si lavora i  Java dove è espressamente richiesto di non intromettersi con le politiche di Garbaging.

Pensa piuttosto a creare un'app performante che non lasci thread/servizi o altre cose appese.

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Chiudere la propria app
« Risposta #4 il: 04 Giugno 2010, 10:53:17 CEST »
0
Posso fare solo un piccolo appunto....

Di al tuo relatore di studiare l'architettura Android!!!!!!!e di non sparare Mxxxxxxxe!La chiusura di un'applicazione da parte propria fuori dal ciclo di vita corretto del sw è una cosa non corretta da fare sopratutto se si lavora i  Java dove è espressamente richiesto di non intromettersi con le politiche di Garbaging.

Pensa piuttosto a creare un'app performante che non lasci thread/servizi o altre cose appese.

QUOTONE
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline ScarfaceIII

  • Utente junior
  • **
  • Post: 112
  • Respect: +13
    • raferalston12
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Sistema operativo:
    GNU/Linux, Ubuntu 10.04 / Windows 7
Re:Chiudere la propria app
« Risposta #5 il: 04 Giugno 2010, 11:02:21 CEST »
0
lol. Il mio relatore è un ingegnere dell'Automazione, ti ammazza di filtri passa-basso e retroazioni, ma non arriva molto più in la dell' "if-then-else". Ho tentato di spiegare la cosa, ma gli hanno detto che tenendo premuto il tasto home si vedono le applicazioni aperte e mi dice: "ma come, è ancora aperta?!". Ad ogni modo ha pian piano accantonato la richiesta, dopo che mi sono prodigato nello spiegare che è normale e che va bene così.
Per il resto sì, ho in mano il progetto da...boh...3 mesi, e praticamente l'ultimo l'ho passato a studiare tutti i casi d'uso e a fare bugfixing, controllare il codice, vedere cosa viene eseguito, quando e perché...è "anti-demente" ormai sta applicazione... o_O

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Chiudere la propria app
« Risposta #6 il: 04 Giugno 2010, 11:12:51 CEST »
0
ma gli hanno detto che tenendo premuto il tasto home si vedono le applicazioni aperte e mi dice: "ma come, è ancora aperta?!".

LOL

Non sono le applicazioni aperte ma le ultime utilizzate!!!

Sti cacchio di ingegneri che non son buoni a fare quello in cui si son laureati e quindi finiscono a fare gli informatici. Non li sopporto.
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline invernomuto

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Hero
  • Sistema operativo:
    GNU/Linux / Windows 7 / OSX Snow Leopard
Re:Chiudere la propria app
« Risposta #7 il: 04 Giugno 2010, 11:25:55 CEST »
0
Posso fare solo un piccolo appunto....

Di al tuo relatore di studiare l'architettura Android!!!!!!!e di non sparare Mxxxxxxxe!La chiusura di un'applicazione da parte propria fuori dal ciclo di vita corretto del sw è una cosa non corretta da fare sopratutto se si lavora i  Java dove è espressamente richiesto di non intromettersi con le politiche di Garbaging.

Pensa piuttosto a creare un'app performante che non lasci thread/servizi o altre cose appese.

Non capisco bene se quando dici "sopratutto se si lavora i  Java dove è espressamente richiesto di non intromettersi con le politiche di Garbaging" intendi solo in ambito Android o in generale; nel primo caso è vero e sacrosanto (ed è una degli aspetti dell'architettura di Android che proprio non sopporto) mentre se riferito allo sviluppo generico in java, non lo trovo esattamente corretto.

Offline Agafi

  • Utente normale
  • ***
  • Post: 173
  • Respect: +10
    • svetlana-tomasevschi-perini
    • agafist
    • Mostra profilo
  • Dispositivo Android:
    SE Xperia Neo,LG Optimus One,Asus EEE Pad Transformer,HTC Magic Vodafone
  • Play Store ID:
    Agafi
  • Sistema operativo:
    Win7
Re:Chiudere la propria app
« Risposta #8 il: 04 Giugno 2010, 11:46:23 CEST »
0
Intendo in ambito Java oriented o meglio in tutti quei mondi dove esiste una VirtualMachine con politiche di Garbaging mirate

Offline invernomuto

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Hero
  • Sistema operativo:
    GNU/Linux / Windows 7 / OSX Snow Leopard
Re:Chiudere la propria app
« Risposta #9 il: 04 Giugno 2010, 12:53:37 CEST »
0
Allora mi permetto di dissentire.  ;-)
Innanzitutto c'è da dire che si è partiti dall'idea di dover "chiudere definitivamente" l'applicazione; questo in android come si sa è un concetto insensato in quanto lo scheduler stesso si occupa di tali operazioni. In una vm java, invece, la chiusura di una applicazione deve essere effettuata esplicitamente, la terminazione di bytecode in esecuzione non è compito dello scheduler della vm. Per quanto invece riguarda il garbage collector,  in generale affidarsi ciecamente a questo "sguattero" può andar bene per applicazioni di modesta complessità, mentre al crescere dell'applicativo è necessaria sia una analisi delle politiche di garbage più appropriate da passare alla virtual machine (ad esempio per un oggetto che istanza un numero elevato di classi e le utilizza per tempi brevissimi, magari su thread separati, può essere utile "chiedere" alla virtual machine una politica di garbaging parallelo ad intervalli ridotti ) e si deve sempre considerare la possibilità di gestire il garbaging e l'espansione degli head in modo manuale (ad esempio in applicativi che necessitano di uso intensivo della cpu, in tal caso potrebbe essere utile assegnare al GC intervalli di controllo molto lunghi e procedere nei momenti non critici della computazione ad esecuzioni manuali del garbage). Il garbage è un ottimo strumento, ma non può sostituire un uso corretto delle risorse da parte dello sviluppatore a parere mio.
Concludo segnalando questo articolo che personalmente ho trovato molto interessante (tanto che si è meritato un bookmark in premio)  Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning
« Ultima modifica: 04 Giugno 2010, 12:55:17 CEST da invernomuto »

Offline Agafi

  • Utente normale
  • ***
  • Post: 173
  • Respect: +10
    • svetlana-tomasevschi-perini
    • agafist
    • Mostra profilo
  • Dispositivo Android:
    SE Xperia Neo,LG Optimus One,Asus EEE Pad Transformer,HTC Magic Vodafone
  • Play Store ID:
    Agafi
  • Sistema operativo:
    Win7
Re:Chiudere la propria app
« Risposta #10 il: 04 Giugno 2010, 12:58:59 CEST »
0
Bisogna capire però cosa si intende allora per chiudere un'applicazione ;-)

cmq anhce tu hai detto:
 
Citazione
Il garbage è un ottimo strumento, ma non può sostituire un uso corretto delle risorse da parte dello sviluppatore a parere mio.

e su questa affermazione non posso che darti ragione:
Citazione
può essere utile "chiedere" alla virtual machine una politica di garbaging parallelo ad intervalli ridotti 
cosa che in con i vari ApplicationServer si può chiedere e gestire oltretutto al meglio.

Diciamo che "aborro" il comando System.exit() cosa che trovo sconveniente e da non usare.


Offline tharos70

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • tharos70
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    tharos70
  • Sistema operativo:
    ubuntu 10.10
Re:Chiudere la propria app
« Risposta #11 il: 07 Giugno 2010, 11:38:22 CEST »
0
Diciamo che "aborro" il comando System.exit() cosa che trovo sconveniente e da non usare.

Da "vecchio" sviluppatore di rich client java standalone, non sono d'accordo... o meglio...
Bisogna effettuare alcune distinzioni... se parliamo di applicazioni web il tuo discorso è correttissimo.
Su applicazioni che girano localmente la System.exit() evita processi "appesi" ecco perchè va utilizzata (senza contare il classico pulsante di chiusura...)
Detto ciò credo sia l'unico caso di applicazioni java in cui abbia un senso una chiusura esplicita del processo.....
Nello specifico su Android, è a mio parere, correttissimo lasciare la palla al sistema, ma alla prova dei fatti il market è pieno di applicazioni mal scritte... Ecco perchè sono spuntati come funghi i cosiddetti task manager o app killers che dir si voglia.... (che peraltro spesso non funzionano o funzionano male...)
Il capitolo sul ciclo di vita delle activities del libro di Massimo Carli contiene a mio parere uno dei più belli esercizi per la comprensione della politica di gestione delle applicazioni di Android... Ne consiglierei al relatore del progetto di cui sopra, una lettura attenta....

Offline Agafi

  • Utente normale
  • ***
  • Post: 173
  • Respect: +10
    • svetlana-tomasevschi-perini
    • agafist
    • Mostra profilo
  • Dispositivo Android:
    SE Xperia Neo,LG Optimus One,Asus EEE Pad Transformer,HTC Magic Vodafone
  • Play Store ID:
    Agafi
  • Sistema operativo:
    Win7
Re:Chiudere la propria app
« Risposta #12 il: 07 Giugno 2010, 11:46:44 CEST »
0
Non posso che condividere tutte le tue affermazioni.

Sono solita a trascurare le applicazione java Stand alone....

Offline tharos70

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • tharos70
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    tharos70
  • Sistema operativo:
    ubuntu 10.10
Re:Chiudere la propria app
« Risposta #13 il: 07 Giugno 2010, 11:52:31 CEST »
0
Non posso che condividere tutte le tue affermazioni.

Sono solita a trascurare le applicazione java Stand alone....

Beata te.... Io ho passato 4 anni della mia vita in quell'inferno....  :-)
E' stata una bella palestra e con le "nuove" tecnologie (jsf in primis, ma anche altri fw) sono esperienze che fanno comodo...
Questi sono i miei primi posts e devo farvi i complimenti... Sono pochi i forum tecnici in cui non si legga presunzione e pressapochismo...
Questa community fa davvero eccezione e soprattutto rende giustizia al glorioso nome che porta!!!  Spero di trovare il tempo di contribuire con le mie (poche) conoscenze!!

Continuate così!

Offline invernomuto

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Hero
  • Sistema operativo:
    GNU/Linux / Windows 7 / OSX Snow Leopard
Re:Chiudere la propria app
« Risposta #14 il: 07 Giugno 2010, 12:14:16 CEST »
0
Non posso che condividere tutte le tue affermazioni.

Sono solita a trascurare le applicazione java Stand alone....


Beata te.... Io ho passato 4 anni della mia vita in quell'inferno....  :-)
E' stata una bella palestra e con le "nuove" tecnologie (jsf in primis, ma anche altri fw) sono esperienze che fanno comodo...
Questi sono i miei primi posts e devo farvi i complimenti... Sono pochi i forum tecnici in cui non si legga presunzione e pressapochismo...
Questa community fa davvero eccezione e soprattutto rende giustizia al glorioso nome che porta!!!  Spero di trovare il tempo di contribuire con le mie (poche) conoscenze!!

Continuate così!

Mah, io dopo anni passati nell'abisso del tartaro del C misto asm (o al massimo il C++, ma era un lusso che capitava raramente), quando sono passato a java mi è parsa una benedizione.  :D
Vero è che sviluppo più applicazioni distribuite spesso basate su RMI quindi potrei non conoscere o sottovalutare aspetti prettamente legati allo sviluppo di desktop applications in java.