Domanda

ho creato una classe di Applicazione della mia.

Io cerco di eseguire il debug e il codice si ferma a Application.onCreate (), ma non si ferma alla onLowMemory.

Per testare lo scenario apro un sacco di altre applicazioni ad alta memoria.

Quello che vedo è che la sessione di debug terminata (in Eclipse) e alcuni dei miei variabili statiche rivolti a null -. Indica che il processo è terminato

Non solo il debug non si ferma @ il punto di rottura del metodo, ho messo una linea Log.e (...) e non la vedo così.

Qualche idea del perché il metodo non è stato invocato?

Grazie.

È stato utile?

Soluzione

Non credo che ci siano garanzie che questo metodo potrà mai essere chiamato.

docs :

Mentre il punto esatto in cui questo sarà chiamato non è definito, in genere accadrà in tutto il Time all processo in background sono stati ucciso, che è prima di raggiungere il punto di processi di uccisione di hosting il servizio e il primo piano interfaccia utente che abbiamo vorrebbe evitare di uccidere.

Dato che il punto in cui si parla non è definito, si potrebbe scegliere di non chiamarlo.

In generale, Android è libero di uccidere la vostra applicazione ogni volta che vuole, fintanto che è in background. Si dovrebbe fare affidamento solo su metodi del ciclo di vita (come onPause, onStop, OnDestroy) che specificamente lo stato che essi sono garantiti per essere chiamati al fine di fare qualsiasi pulizia necessaria.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top