OnCreate()和 onStart()的区别?

可能的复制品:
Android 活动生命周期-onPace ()和 OnStop () 之间的差异

我想知道-ABC0和 onStart()方法的区别是什么?

我认为 onStart()是一个冗余的方法。 onCreate()将永远被调用(至少在我最近的两个项目中)。

有人能解释一下这其中的区别吗?

214661 次浏览

在创建活动时调用 onCreate()方法,并且在整个活动生命周期中只调用一次。 当活动停止时调用 onStart()... 我的意思是它已经转到后台,它的 onStop()方法由 os 调用。在活动生命周期中可以多次调用 onStart()。更多细节请点击这里

看看活动的生命周期 enter image description here

在哪里

***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 .....");
}
}

希望这能消除你的疑惑。

看看 给你的细节。

详细信息中的生命周期方法是一个非常好的示例和演示应用程序,它是理解生命周期的一篇非常好的文章。