Android開発-アクティビティのライフサイクル

1つは、アクティビティライフサイクルの4つの状態です。

  1. 実行状態は
    、表示され、ユーザーと対話できる状態です。
  2. 一時停止状態
    アクティビティは別の透過的なアクティビティまたはダイアログアクティビティでカバーされていますが、引き続き表示され、ユーザーと対話する機能が失われます。
  3. 状態
    停止アクティビティは、別の透過的なアクティビティまたはダイアログアクティビティによって完全にカバーされ、すべての状態とメンバーの情報を維持しますが、表示されません
  4. 切断された
    アクティビティがシステムによって強制終了されてリサイクルされたか、開始されなかった

2つ、アクティビティライフサイクルの7つの方法

  1. onCreate
  2. onStart
  3. onResume
  4. onPause
  5. onStop
  6. onDestroy
  7. onRestart

3.ライフサイクルの例

主なコードの内容は、7つのメソッドを書き直すことです(2つのアクティビティでは、次のコードに従って7つのメソッドが書き直されます)

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_show__image);
        System.out.println("ShowImage_onCreate");
    }
    @Override
    public void onStart()
    {
    
    
        super.onStart();
        System.out.println("ShowImage_onStart");
    }
    public void onRestart()
    {
    
    
        super.onRestart();
        System.out.println("ShowImage_onRestart");
    }
    public void onResume()
    {
    
    
        super.onResume();
        System.out.println("ShowImage_onResume");
    }
    public void onPause()
    {
    
    
        super.onPause();
        System.out.println("ShowImage_onPause");
    }
    public void onStop()
    {
    
    
        super.onStop();
        System.out.println("ShowImage_onStop");
    }
    public void onDestroy()
    {
    
    
        super.onDestroy();
        System.out.println("ShowImage_onDestroy");
    }

1. 1つのアクティビティで別のアクティビティを開始し(完全なカバレッジ)、
別のアクティビティコードにジャンプします

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
    
    Button btn_image;
    @SuppressLint("WrongViewCast")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn_image=findViewById(R.id.imageshow);
        btn_image.setOnClickListener(this);
        System.out.println("MainActivity_onCreate");
    }

    @Override
    public void onClick(View view) {
    
    
        Intent intent=new Intent();
        intent.setAction("openimage");
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        startActivity(intent);
    }
}

実行結果
開くアプリを、
ここに画像の説明を挿入
別のアクティビティを開き、
ここに画像の説明を挿入
出口新しい活性およびAPP
ここに画像の説明を挿入
2.開始つの活性(完全に覆われていない)内の別の活性を
、上記のコードに基づいて、次の変更を行う。
ここに画像の説明を挿入
結果を実行する。
オープンアプリ、
ここに画像の説明を挿入
他を開きますアクティビティを実行し、
ここに画像の説明を挿入
新しいアクティビティとAPP閉じ
ここに画像の説明を挿入
ます。3
変更せずに水平画面と垂直画面切り替えます
APP
ここに画像の説明を挿入
水平画面を垂直画面に開きます
ここに画像の説明を挿入
コンテンツを変更します
ここに画像の説明を挿入
実行結果変更を
ここに画像の説明を挿入
追加した、水平画面と垂直画面を切り替えますアクティビティは7つのメソッドのいずれも呼び出しません。

第四に、アクティビティのライフサイクルプロセス

上記の例から、次のようなプロセスを描くことができます。
ここに画像の説明を挿入
全体として、アクティビティのライフサイクルの変化は、主に状態変化を実現するための7つのメソッドの呼び出しです。

おすすめ

転載: blog.csdn.net/qq_43279579/article/details/115248948