2013-11-26 17 views
6

Ho visto molte app task killer, che pretendono di uccidere le app in background, ma una volta che le uso, scopro che quello che fanno è svanire le app dalla loro visualizzazione elenco e ingannare l'utente che vengono uccise.Uccidere un'applicazione, Android sta andando nel modo giusto in questo processo.?

Se apro nuovamente la stessa app killer task in pochi secondi, la stessa app sarà di nuovo lì che è stato dichiarato essere stato ucciso in precedenza. Questo è un difetto dell'app o del sistema operativo Android?

Non solo qui, anche con le app con l'opzione dell'uscita , ho notato che fare clic sul pulsante di uscita non lo interrompe. Quindi dov'è il problema?

Molto tempo fa ho letto che non esiste alcuna funzione fornita in Android per uccidere un'app (non so sull'ora corrente). Quindi la colpa sarà data al sistema operativo? C'è ancora un modo corretto per chiudere un'app quando vogliamo e farlo funzionare normalmente?

+2

Sicuramente qualcosa vale la pena spiegazione da parte di esperti. Mi piacerebbe leggere i commenti per venire sotto. –

+0

v'è alcun punto a uccidere le app a tutti. Android non è Windoze. Avere applicazioni in background fa risparmiare batteria quando si riavviano queste app. Si prega di leggere i dettagli nella documentazione del ciclo di vita di Android. – flx

+0

Cosa succede se un'app è in esecuzione in background per un lungo periodo e io davvero non la uso spesso.? Non ha bisogno di essere licenziato per l'amor del telefono? –

risposta

1

Non solo qui, anche con le applicazioni che hanno l'opzione di uscita, ho notato che clic sul pulsante Esci non denunciarlo. Allora, dov'è il problema ?

Se l'applicazione è stata progettata correttamente, l'opzione di uscita dovrebbe ucciderlo. Ma avere un'opzione di uscita è accigliato in Android.
È possibile terminare un'attività utilizzando finish(). Un'applicazione è una combinazione di attività, quindi se tutte le attività vengono correttamente uccise, l'applicazione non funzionerà nella mia comprensione. Potrei sbagliarmi però.

Molto tempo fa ho letto che non v'è alcuna funzione fornita in Android per uccidere un app (non so il momento attuale). Quindi la colpa sarà data al sistema operativo ?

Da quello che so non c'è un funzionario per uccidere un'applicazione in una volta. Ma ci sono alcuni hack che ti permettono di uccidere tutte le attività contemporaneamente.

Esiste un modo corretto ma per chiudere un app quando vogliamo e renderlo comportarsi normalmente.?

Bene il seguente hack funziona bene per me.

Chiudere tutte le attività precedenti come segue:

metodo
Intent intent = new Intent(this, MainActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.putExtra("Exit me", true); 
startActivity(intent); 
finish(); 

Poi nel MainActivity onCreate() aggiungere questo per finire il MainActivity

setContentView(R.layout.main_layout); 

if(getIntent().getBooleanExtra("Exit me", false)){ 
    finish(); 
    return; // add this to prevent from doing unnecessary stuffs 
} 
0

Mentre Ninjas risposta ha fornito un modo per chiudere molte attività su stack, si noti che il modo in cui Android è stato creato, nessuna applicazione può interagire direttamente con un'altra ... questo come una caratteristica di sicurezza blocca la maggior parte dei software non voluti, così come malware/virus/ecc.

L'unico modo effettivo per chiudere forzatamente un'applicazione è bloccare le risorse per esso (utilizzando lo strumento Impostazioni Android per mettere l'applicazione in stato "non avviato") o per passare al sistema sottostante (principalmente un linux), e negare le risorse, questo è tricker, ma possibile.

Se apro nuovamente la stessa app killer task in pochi secondi, la stessa app sarà di nuovo lì che è stato dichiarato essere stato ucciso in precedenza. Questo è un difetto dell'app o del sistema operativo Android?

È il "difetto" del sistema operativo, ma si comporta ESATTAMENTE come previsto. Nessun programma dovrebbe essere in grado di modificare/modificare il tuo programma. Proprio come ninja rispondere, ha praticamente chiesto al sistema di ignorare qualsiasi attività su quella pila. Ma se pile muliple sono presenti ... beh ... no, allora, la sua colpa APP.

Non solo qui, anche con le app che dispongono di un'opzione di uscita, ho notato che fare clic sul pulsante di uscita non lo interrompe. Quindi dov'è il problema?

Un programmatore non dovrebbe uscire la sua applicazione, perché il suo non è un programma completo, si sono fondamentalmente l'esecuzione di comandi all'interno di un altro programma, quindi, le regole devono essere rispettate. Una volta che si avvia, la gestione della memoria è fuori delle vostre mani, quindi non si può/non deve applicazioni "uscita".

C'è ancora un modo corretto per chiudere un'app quando vogliamo e farlo funzionare normalmente?

Non capisco questo. Nel ciclo di vita dell'applicazione, tutto si sia comportando normalmente (o se si sa, si fermò: example ha smesso di funzionare), o in stato di pronto

Problemi correlati