欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))

程序员文章站 2022-06-03 08:39:22
...

安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))

1.生命周期中的方法

在每个Activity启动的时候,onCreate方法会被自动的调用(类似java里面的main方法 )

除了onCreate方法以外,Acitivity还有一些方法会在某些时机自动被调用
onCreate()//准备工作 页面不可见,当执行完onStart的方法才可见
onStart()//页面可见
onResume(){//页面有响应
onPause()//页面失去响应
onStop(){//页面不可见
onDestroy()//页面被销毁

2.生命周期

1.一个activity的生命周期

安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))

1.onCreate(),onStart(),onResume()
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
当我们点击手机上的这个back返回键,就相当于执行了finish方法,activity就会关闭,会被“杀死”,当我们再次进入就需要重新创建,仔细观察日志,我们会发现再次进入调用了onCreate()方法
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
当我们点击了这个home键,activity不会被“杀死”,当我们再次进入不需要重新创建,只需要恢复到原来的状态就可以了 ,仔细观察日志会发现没有调用onCreate()方法
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))

也就是说需要恢复的数据我们就在放在onCreate()或者onResume()方法里面,如果是放在onCreate()方法里面
,当我们在玩王者荣耀,点击了home键,再次返回可能我们的泪水就要打湿红领巾了,因为啥都没有了
2.onPause(),onStop(),onDestroy()
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
点击back 返回键三个方法全部调用
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))

安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
点击home不调用onDestroy()方法,所以关闭声音的方法,一般放在onPause()或者onStop()方法里面
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
代码

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {//准备工作   页面不可见,当执行完onStart的方法才可见
        super.onCreate(savedInstanceState);
        Log.i("lifecycleA","onCreate");
        setContentView(R.layout.activity_main);
    }

    @Override
    protected void onStart() {//页面可见
        Log.i("lifecycleA","onStart");
        super.onStart();
    }
    @Override
    protected void onResume() {//页面有响应

        super.onResume();
        Log.i("lifecycleA","onResume");
    }
    @Override
    protected void onPause() {//页面失去响应
        super.onPause();
        Log.i("lifecycleB","onPause");
    }
    @Override
    protected void onStop() {//页面不可见
        super.onStop();
        Log.i("lifecycleB","onStop");
    }
    @Override
    protected void onDestroy() {//页面被销毁
        super.onDestroy();
        Log.i("lifecycleB","onDestroy");
    }
}

2.两个activity的生命周期

从第一个activity1跳到activity2的方法调用顺序是
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
从第二个activity返回到第一个activity的方法调用顺序是
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))

亲爱的小伙伴,关于activity的所有知识就讲完啦,是不是发现了新天地,谢谢您的阅读啦,下一讲我们讲列表ListView,继续在安卓的入土之旅全速前进。