【android】Activityのライフサイクル
Androidでのプログラムの勉強中・・・。Activityのライフサイクルについては
https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ja
公式にこの図が出ていて、同様の図を書籍などでも見る事ができる。いやいや、わかるよ・・・でもね。という事で実際の動作を確認する事をしてみた。
新規作成で、Enptyのプロジェクトを立ち上げて、
以下のように編集する。
編集点は①がonCreateだけが自動で生成されるが、他のonStart,onResumeなどについても記載する。①Logを出力するようにする。
package com.example.lifecycle_test;
import android.os.Bundle;
import android.util.Log;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
Log.d("MainActivity","onCreate");
}
@Override
protected void onStart() {
super.onStart();
Log.d("MainActivity","onStart");
}
@Override
protected void onResume() {
super.onResume();
Log.d("MainActivity","onResume");
}
@Override
protected void onPause() {
super.onPause();
Log.d("MainActivity","onPause");
}
@Override
protected void onStop() {
super.onStop();
Log.d("MainActivity","onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("MainActivity","onDestroy");
}
}
LogCatの表示の仕方は、View-Tool windows-LogCatとして、ログを表示する。
これでエミュレータ上で走らせる(といってもHelloとでるだけ)
この状態で、アプリを閉じたり、他のアプリを立ち上げたりとするとどのタイミングで、どのように繊維しているかを確認できるって訳
むしろ、これがひな形として、自動生成されてほしいな・・・と思ってまずは、自分のひな形として、やってみた・・・
コメント
コメントを投稿