Activity生命周期与启动模式

一、什么是Activity生命周期?
定义:Activity生命周期是Activity组件从创建到销毁的过程。

  下图为Android api中所提供的Activity生命周期图

Activity生命周期与启动模式_第1张图片
二:如何使用Activity生命周期?
方法介绍:
onCreate()
调用: Activity被创建时回调,第一个生命周期
状态:不可见状态
Next:onStart()
作用:初始化的操作,如设置界面布局的资源等
使用:创建Activity时需要重写该方法

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

onStart()
调用: Activity对用户可见时回调
状态:Activity处于可见状态,只是还没有在前台显示
Next:onResume()
作用:做一些对UI进行动画开启操作
使用:创建Activity时需要重写该方法

public class MainActivity extends AppCompatActivity {
.......
    @Override
    protected void onStart() {
        super.onStart();
    }
}

onResume()
调用: Activity将开始与用户交互时调用回调
状态:可见状态,允许用户操作
Next:onPause()
作用:可以在这里初始化一些资源,注册广播接收器等
使用:创建Activity时需要重写该方法

public class MainActivity extends AppCompatActivity {
.......

    @Override
    protected void onResume() {
        super.onResume();
    }
}

onPause()
调用: 此方法回调时,Activity正在停止
状态:可见状态,
Next:onStop() 或onResume
作用:通常用于对持久数据、停止动画和其他可能消耗 CPU的事情提交未保存的更改
使用:创建Activity时需要重写该方法

public class MainActivity extends AppCompatActivity {
.......
    @Override
    protected void onPause() {
        super.onPause();
    }
}

onStop()
调用: Activity对用户不再可见时调用
状态:不可见状态,
Next:onRestart() 或onDestroy()
作用:表示Activity即将停止或者完全被覆盖
使用:创建Activity时需要重写该方法

public class MainActivity extends AppCompatActivity {
.......
  @Override
    protected void onStop() {
        super.onStop();
    }
}

onRestart ()
调用: 不可见变为可见状态时,该方法被回调
状态:不可见状态,
Next: onStart()
作用:表示Activity正在重新启动
使用:创建Activity时需要重写该方法

public class MainActivity extends AppCompatActivity {
.......
    @Override
    protected void onRestart() {
        super.onRestart();
    }
}

onDestroy()
调用: Activity开始被销毁时调用,最后一个方法
状态:不可见状态,
Next: 无
作用:做一些回收工作和最终的资源释放
使用:创建Activity时需要重写该方法

public class MainActivity extends AppCompatActivity {
.......
  @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}

如上内容,持续更新,欢迎关注。

你可能感兴趣的:(Android,Android开发从入门到精通)