我想知道 -和方法有什么区别?onCreate()
onStart()
我认为这onStart()
是一种多余的方法。onCreate()
总是会被调用(至少在我最近的两个项目中)。
任何人都可以解释其中的区别吗?
我想知道 -和方法有什么区别?onCreate()
onStart()
我认为这onStart()
是一种多余的方法。onCreate()
总是会被调用(至少在我最近的两个项目中)。
任何人都可以解释其中的区别吗?
看一下Activity的生命周期
在哪里
***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 .....");
}
}
希望这能消除您的困惑。
并在这里查看详细信息。
Lifecycle Methods in Details是一个非常好的示例和演示应用程序,是了解生命周期的非常好的文章。
onCreate()
创建活动时调用方法,并且在整个活动生命周期中仅调用一次。活动停止时调用的位置onStart()
......我的意思是它已经进入后台并且它的onStop()
方法被操作系统调用。onStart()
Activity生命周期中可能会被多次调用。更多细节在这里