【发布时间】:2013-10-21 14:04:43
【问题描述】:
我的 android 活动的生命周期有问题。当我按下“home”按钮时,函数 onDestroy() 正在调用。 我测试了一个简单的 hello world 和 Toast 回调函数。
我的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(getApplicationContext(), "onCreate", Toast.LENGTH_SHORT).show();
}
@Override
protected void onRestart(){
super.onRestart();
Toast.makeText(getApplicationContext(), "onRestart", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart(){
super.onStart();
Toast.makeText(getApplicationContext(), "onStart", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume(){
super.onResume();
Toast.makeText(getApplicationContext(), "onResume", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStop(){
super.onStop();
Toast.makeText(getApplicationContext(), "onStop", Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy(){
super.onDestroy();
Toast.makeText(getApplicationContext(), "onDestroy", Toast.LENGTH_SHORT).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
编辑:当我运行我的应用程序时,我有吐司“onCreate”,“onState”然后是“onResume。如果我按“home”按钮,我会看到吐司“onStop”。如果我返回我的应用程序,我有吐司“onStart”和“onResume”。 但是当我在我的真实设备(Samsung GT-P3110)上运行我的应用程序时,我有吐司“onCreate”、“onState”然后是“onResume”。如果我按“home”按钮,我会看到吐司“onStop”和“onDestroy” . (我的应用程序始终在正在运行的应用程序列表中可见)如果我返回应用程序,它会看到“onCreate”-> onState”->“onResume”,就像它完全重启一样。
我不明白。 可以请教一下吗?
【问题讨论】:
标签: android android-activity activity-lifecycle