onCreate()和onstart()之间的区别? [复制
-
25-10-2019 - |
题
我想知道 - 有什么区别 onCreate()
和 onStart()
方法?
我觉得 onStart()
是一种冗余方法。 onCreate()
将始终被称为(至少在我的最后两个项目中)。
有人可以解释区别吗?
解决方案
看看活动的生命周期
在哪里
***onCreate()***
在第一次创建活动时调用。在这里,您应该在这里进行所有正常的静态设置:创建视图,将数据绑定到列表等。此方法还为您提供一个包含活动以前冷冻状态的捆绑包(如果有的话)。始终紧随其后的是onstart()。
***onStart()***
当活动变得可见时调用。然后是onResume(),如果活动进入前景,或者如果它隐藏了。
当这些方法调用时,您可以编写简单的课程以查看
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 .....");
}
}
希望这能清除您的困惑。
看看 这里 有关详细信息。
生命周期方法的详细信息 是一个很好的例子和演示应用程序,这是一篇非常好的文章,可以理解生命周期。
其他提示
onCreate()
当活动创建活动时,将调用方法,并且在整个活动生命周期中仅调用一次。然而 onStart()
当活动停止时被称为...我的意思是它已经进入了后台及其 onStop()
方法由OS调用。 onStart()
活动生命周期中可能被称为多次。这里更多详细信息
不隶属于 StackOverflow