2013-01-15 12 views
7

Sto Analytics nella mia applicazione Android di attuazione, e vorrei consigli su quando chiamare super.onPause()Quando chiamare super.onPause()?

if (mAnalyticsSession != null) { 
    mAnalyticsSession.close(); 
    mAnalyticsSession.upload(); 
} 

super.onPause(); 

Qual è l'effetto di chiamare super.onPause() dopo aver fatto azioni di caricamento vs. prima?

In generale, quando è necessario chiamare super.onPause()?

+0

Benvenuto. SO, non dimenticare di selezionare ac orrect answer :) – m0skit0

+0

Correlati: https://stackoverflow.com/q/16925579/56285 e https://stackoverflow.com/q/9625920/56285 – Jonik

risposta

4

Si chiama solo super.onPause() nel proprio Activity.onPause() override.

public class YourActivity extends Activity { 

    @Override 
    public void onPause() { 
     super.onPause(); 
     // Do your stuff, e.g. save your application state 
    } 

} 

Nota che non è necessario sovrascriverlo se non è necessario. Se hai intenzione di sovrascriverlo, allora non fare processi lenti qui o potresti ottenere un ANR.

+0

Quindi si consiglia di chiamare prima super.onPause() e poi altre azioni? –

+0

Non ha importanza. – m0skit0

+0

ok. Ero solo un po 'preoccupato di metterli prima di super.onPause() ma le linee guida di sdk di analytics dicevano che doveva essere prima. –

13

La risposta selezionata non è corretta, (so che questa è una vecchia questione, ma per i nuovi lettori qui è il modo corretto: Aggiungi i tuoi codici dopo Super.onPause o Super.OnStart, ... Ed ecco un riferimento Android per la tua domanda (link diretto è in commento):

Citazione di Attività: l'implementazione di questi metodi del ciclo di vita deve sempre chiamare l'implementazione della superclasse prima di fare qualsiasi lavoro

+2

Ecco il link ai documenti: http://developer.android.com/guide/components/activities.html – bkurzius

Problemi correlati