可能的复制品: Android 活动生命周期-onPace ()和 OnStop () 之间的差异
我想知道-ABC0和 onStart()方法的区别是什么?
onStart()
我认为 onStart()是一个冗余的方法。 onCreate()将永远被调用(至少在我最近的两个项目中)。
onCreate()
有人能解释一下这其中的区别吗?
在创建活动时调用 onCreate()方法,并且在整个活动生命周期中只调用一次。 当活动停止时调用 onStart()... 我的意思是它已经转到后台,它的 onStop()方法由 os 调用。在活动生命周期中可以多次调用 onStart()。更多细节请点击这里
onStop()
看看活动的生命周期
在哪里
***onCreate()***
在首次创建活动时调用。这就是您应该完成所有常规静态设置的地方: 创建视图、将数据绑定到列表等等。此方法还为您提供了一个 Bundle,其中包含活动之前的冻结状态(如果有的话)。 后面总是跟着 onStart ()。
***onStart()***
当活动对用户可见时调用。 如果活动出现在前台,则接着是 onResume () ,如果活动变为隐藏,则接着是 onStop ()。
您可以编写简单的类来查看这些方法调用时的情况
public class TestActivity extends Activity { /** Called when the activity is first created. */ private final static String TAG = "TestActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.i(TAG, "On Create ....."); } /* (non-Javadoc) * @see android.app.Activity#onDestroy() */ @Override protected void onDestroy() { super.onDestroy(); Log.i(TAG, "On Destroy ....."); } /* (non-Javadoc) * @see android.app.Activity#onPause() */ @Override protected void onPause() { super.onPause(); Log.i(TAG, "On Pause ....."); } /* (non-Javadoc) * @see android.app.Activity#onRestart() */ @Override protected void onRestart() { super.onRestart(); Log.i(TAG, "On Restart ....."); } /* (non-Javadoc) * @see android.app.Activity#onResume() */ @Override protected void onResume() { super.onResume(); Log.i(TAG, "On Resume ....."); } /* (non-Javadoc) * @see android.app.Activity#onStart() */ @Override protected void onStart() { super.onStart(); Log.i(TAG, "On Start ....."); } /* (non-Javadoc) * @see android.app.Activity#onStop() */ @Override protected void onStop() { super.onStop(); Log.i(TAG, "On Stop ....."); } }
希望这能消除你的疑惑。
看看 给你的细节。
详细信息中的生命周期方法是一个非常好的示例和演示应用程序,它是理解生命周期的一篇非常好的文章。