Comprensione di isFinishing ()

Mi sono confuso dopo aver letto il doc Android su isFinishing() in http://developer.android.com/reference/android/app/Activity.html

Se chiamo isFinishing() in onPause() , quale valore restituito di isFinishing() dovrebbe essere nei seguenti 3 scenari?

  • Imposta il valore predefinito di una colonna intera SQLite
  • Visualizzazione Android Toast anche l'applicazione è chiusa
  • Android Studio con Google Play: manca il servizio di Google Play
  • IBM Mobile First - Json Store non funziona con Samsung Galaxy S6
  • ListView setOnItemClickListener non funziona nella visualizzazione elenco personalizzato
  • È ansible leggere un file di text raw senza riferimento di context in un progetto di libreria Android
    1. L'attività viene uccisa a causa della fine () è stata chiamata.
    2. Un'attività non è in primo piano e l'attività (non l'applicazione) viene uccisa dal sistema operativo a causa della memory insufficiente.
    3. L'attività sta andando a background.

    Sono sicuro che il risultato di isFinishing() sarà vero nello scenario 1 e sarà falso nello scenario 3.

    Come su Scenario 2? Will isFinishing() restituisce true o false nello scenario 2?

    2 Solutions collect form web for “Comprensione di isFinishing ()”

    La tua attività non viene uccisa dal sistema operativo mentre è in primo piano. Non avrebbe senso.

    Tuttavia, se l'attività va in background perché l'utente ha commutato un'applicazione diversa, potrebbe essere ucciso dopo che onPause() è stato elaborato. Come tale, si potrebbe get isFinishing() == false come l'utente passa a una nuova applicazione, ma poi l'applicazione viene uccisa.

    Come dice il documento, salvare tutti i dati persistenti in onPause() . onDestroy() non è garantito per essere chiamato.

    (Non sarei sorpreso se Dianne mi entra e mi corregga qui, per esempio)

    Come call onPause? 2 modi: l'attività va in background o chiamiamo finitura () da qualche parte. Se l'attività passa allo background, isFinishing () è falsa. Se chiamiamo finish (), isFinishing () è true. E adesso vedi lo scenario 2: un'attività non è in primo piano e l'attività (non l'applicazione) viene uccisa dal sistema operativo a causa della memory insufficiente. Un'attività sarà uccisa, in modo che il muse sia in background, è in pausa, quindi non si chiamerà. BTW, un'attività non può essere uccisa, solo il process può essere ucciso

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.