Terminer () et le cycle de vie d'activité
-
11-12-2019 - |
Question
J'apprends une programmation Android pour une classe et j'ai une question rapide sur la finition () pour la fin du cycle de vie de l'activité.
Lorsque vous apportez un appel à terminer (), quel rappel de cycle de vie est-il démarré?Je présume que c'est l'onpaause (), puis OnStop () et Ondestroy ().Est-ce correct?
Vraiment, je veux juste m'assurer que cela ne saute pas directement à Ondestroy ().
La solution
Vous êtes correct.Onpause, OnStop, Ondestroy.
ici sont les documents.
Autres conseils
Vraiment, je veux juste m'assurer qu'il ne saute pas directement à Ondestroy ().???
Non!
mais il y a
une exception lorsque Calling Terminer () Résultat dans l'activité Lifecycle Break Cela se produit lorsque vous appelez Terminer () à partir de la méthode Oncreate () auquel cas OnDestroy () sera immédiatement appelé!
Oui, il ne saura pas à OnDestroy () sauter l'onpace et Ontop.
Aussi vous êtes peut-être intéressé par
Cela pourrait également être très intéressant pour vous d'analyser de tels problèmes et de tels problèmes.Vous pouvez par exemple définir un point d'arrêt debugginin dans la méthode Onpause () et enquêter sur le flux de programme à partir de ce point.
Certaines impressions peuvent également vous donner des informations utiles.
vous pouvez par exemple écrire system.out.println ("nom de la méthode" + "appelé");Dans chaque méthode de votre activité que vous pensez être appelée.(Écraser par exemple
Vous apprendrez beaucoup sur le système Android de faire de telles enquêtes pendant que vous développez.
Créer une nouvelle application Android et placez ceci dans l'activité principale.
Ensuite, affichez la fenêtre LOGCAT (sous DDMS de Android) pour les sorties
Construisez votre application.
Lorsque votre programme est exécuté, vous pouvez surveiller ce qu'on appelle et à quelle heure.
package com.app.myapp;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
public class MyApp extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
Button exit = new Button(this);
exit.setText("finish");
exit.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
// TODO Auto-generated method stub
Log.v("MyApp", "finish");
finish();
}
});
layout.addView(exit);
setContentView(layout);
Log.v("MyApp", "onCreate");
}
@Override
protected void onDestroy()
{
// TODO Auto-generated method stub
super.onDestroy();
Log.v("MyApp", "onDestroy");
}
@Override
protected void onPause()
{
// TODO Auto-generated method stub
super.onPause();
Log.v("MyApp", "onPause");
}
@Override
protected void onRestart()
{
// TODO Auto-generated method stub
super.onRestart();
Log.v("MyApp", "onRestart");
}
@Override
protected void onResume()
{
// TODO Auto-generated method stub
super.onResume();
Log.v("MyApp", "onResume");
}
@Override
protected void onStart()
{
// TODO Auto-generated method stub
super.onStart();
Log.v("MyApp", "onStart");
}
@Override
protected void onStop()
{
// TODO Auto-generated method stub
super.onStop();
Log.v("MyApp", "onStop");
}
}