Activity的生命周期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activity的生命周期相关的知识,希望对你有一定的参考价值。
这是google android官方网站所给出的activity的生命周期图 刚刚接触到android应用开发的我们看到这张图,我们肯定是懵了,我们用android程序实现以下 观察这些过程到底是什么时候被调用的
activity生命周期中方法的作用
- oncreate:Activity对象创建完毕,但此时不可见
- onstart:Activity在屏幕可见,但是此时没有焦点(即该该界面不能交互 不能点击)
- onResume:Activity在屏幕可见,并且获得焦点
- onPause:Activity此时在屏幕依然可见,但是已经没有焦点
- onStop:Activity已经不可见了,但此时Activity的对象还在内存中
- onDestroy:Activity对象被销毁
我们用logcat记录这些方法都什么时候被调用
创建一个新的android工程 在MainActivity类中覆盖父类的以上方法 如下代码
public class MainActivity extends Activity {
private String TAG = "MainActivty";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e(TAG, "main:onCreate()");
}
@Override
protected void onStart() {
super.onStart();
Log.e(TAG, "main:onStart()");
}
@Override
protected void onResume() {
super.onResume();
Log.e(TAG, "main:onResume()");
}
@Override
protected void onRestart() {
super.onRestart();
Log.e(TAG, "main:onRestart()");
}
@Override
protected void onPause() {
super.onPause();
Log.e(TAG, "main:onPause()");
}
@Override
protected void onStop() {
super.onStop();
Log.e(TAG, "main:onStop()");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.e(TAG, "main:onDestroy()");
}
}
-
当我们打开应用的时候logcat输出 如图
-
当我们点击home键到主界面时 logcat输出如图 可以看出activity并没有被销毁
- 我们再次点击应用的时候 logcat输出如图
- 我们点击返回应用退出的时候 logcat输出如图
- 当你自己做完这些事情的时候 相比你已经对activity的google官网给的生命周期有了进一步的认识了
</html
以上是关于Activity的生命周期的主要内容,如果未能解决你的问题,请参考以下文章
使用 Fragment 和 Activity 执行生命周期流程的问题
React Native 中的 Android Activity 生命周期 - ViewPager