processi rimangono in stato di S
uspended:
PID USER VSZ STAT COMMAND
--- ---- --- ---- -------
5846 root 0 SW< [ksdioirqd/mmc1]
5853 u0_a76 306m S {android.youtube} com.google.android.youtube
5897 root 1852 S /sbin/sh -
5922 u0_a79 286m S {om.me.mygdxgame} com.me.mygdxgame
5947 u0_a49 278m S {roid.dspmanager} com.bel.android.dspmanager
5965 root 1844 R ps -w
Anche quando tutte le attività sono chiuse.
Non c'è niente di male nel tenere le cose caricate nella RAM quando c'è molto spazio. RAM volatile consuma energia, vuoto o pieno.I processi sospesi non incasinano la CPU. Questi processi saranno terminati quando lo spazio è richiesto. Fino ad allora, servono per essere rapidamente ripristinati e rendere il sistema operativo più veloce.
Le situazioni in cui avrete bisogno di cercare per l'esecuzione di processi sono:
- mal gestito le discussioni scappare. Si avvia una discussione che esegue un ciclo, non si sa che finirà mai, e in cima perderai tutti i riferimenti ad essa.
- Implementato male e molto spesso, trapelato Servizi. Registrazione del servizio con un gestore di sistema/servizio e dimenticanza di annullare la registrazione.
- I processi di sistema vengono eseguiti tramite
Runtime.exec()
e si dimentica di chiamare destroy()
su di essi.
Se si tratta solo di componenti Android semplici e hanno implementato correttamente il loro ciclo di vita. Non hai mai bisogno di preoccuparti dei processi interni.
fonte
2013-06-06 16:57:36
'finish()' uccide solo l'attività, non l'intera applicazione. Cosa stai cercando di fare? Perché hai bisogno che se ne vada? – dmon
ma la mia app ha solo un'attività. Solo Main.java. – ARMAGEDDON
Sì, ma c'è un processo che contiene tutte le attività che hai, anche se ne hai una sola, ed è quella che è ancora in esecuzione. – dmon