私は疑問に思っていました -とメソッドの違いは何ですか?onCreate()
onStart()
onStart()
冗長な方法だと思います。onCreate()
常に呼び出されます (少なくとも私の最後の 2 つのプロジェクトでは)。
誰でも違いを説明できますか?
私は疑問に思っていました -とメソッドの違いは何ですか?onCreate()
onStart()
onStart()
冗長な方法だと思います。onCreate()
常に呼び出されます (少なくとも私の最後の 2 つのプロジェクトでは)。
誰でも違いを説明できますか?
アクティビティのライフサイクルを見てみましょう
どこ
***onCreate()***
アクティビティが最初に作成されたときに呼び出されます。ビューの作成、リストへのデータのバインドなど、通常の静的設定はすべてここで行う必要があります。このメソッドは、アクティビティの以前に凍結された状態があれば、それを含むバンドルも提供します。常に 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()
メソッドは、アクティビティが作成されたときに呼び出され、アクティビティのライフサイクル全体で1回だけ呼び出されます。ここでonStart()
、アクティビティが停止したときに呼び出されます...つまり、バックグラウンドに移行し、そのonStop()
メソッドがOSによって呼び出されます。onStart()
アクティビティのライフサイクルで複数回呼び出される場合があります。詳細はこちら