Android 入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
- 1.生命周期中的方法
- 2.生命周期
- 1.一个activity的生命周期
- 2.两个activity的生命周期
Android 入门第三讲02-Activity之间的跳转与传值(Activity的创建+跳转+关闭,Activity的任务栈,Activity跳转传递数据(普通数据+对象类型)+数据回传,)
1.生命周期中的方法
在每个Activity启动的时候,onCreate方法会被自动的调用(类似java里面的main方法 )
除了onCreate方法以外,Acitivity还有一些方法会在某些时机自动被调用
onCreate()//准备工作 页面不可见,当执行完onStart的方法才可见
onStart()//页面可见
onResume(){//页面有响应
onPause()//页面失去响应
onStop(){//页面不可见
onDestroy()//页面被销毁
2.生命周期
1.一个activity的生命周期
1.onCreate(),onStart(),onResume()
当我们点击手机上的这个back返回键,就相当于执行了finish方法,activity就会关闭,会被“杀死”,当我们再次进入就需要重新创建,仔细观察日志,我们会发现再次进入调用了onCreate()方法
当我们点击了这个home键,activity不会被“杀死”,当我们再次进入不需要重新创建,只需要恢复到原来的状态就可以了 ,仔细观察日志会发现没有调用onCreate()方法
也就是说需要恢复的数据我们就在放在onCreate()或者onResume()方法里面,如果是放在onCreate()方法里面
,当我们在玩王者荣耀,点击了home键,再次返回可能我们的泪水就要打湿红领巾了,因为啥都没有了
2.onPause(),onStop(),onDestroy()
点击back 返回键三个方法全部调用
点击home不调用onDestroy()方法,所以关闭声音的方法,一般放在onPause()或者onStop()方法里面
代码
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {//准备工作 页面不可见,当执行完onStart的方法才可见super.onCreate(savedInstanceState);Log.i(\"lifecycleA\",\"onCreate\");setContentView(R.layout.activity_main);}@Overrideprotected void onStart() {//页面可见Log.i(\"lifecycleA\",\"onStart\");super.onStart();}@Overrideprotected void onResume() {//页面有响应super.onResume();Log.i(\"lifecycleA\",\"onResume\");}@Overrideprotected void onPause() {//页面失去响应super.onPause();Log.i(\"lifecycleB\",\"onPause\");}@Overrideprotected void onStop() {//页面不可见super.onStop();Log.i(\"lifecycleB\",\"onStop\");}@Overrideprotected void onDestroy() {//页面被销毁super.onDestroy();Log.i(\"lifecycleB\",\"onDestroy\");}}
2.两个activity的生命周期
从第一个activity1跳到activity2的方法调用顺序是
从第二个activity返回到第一个activity的方法调用顺序是
亲爱的小伙伴,关于activity的所有知识就讲完啦,是不是发现了新天地,谢谢您的阅读啦,下一讲我们讲列表ListView,继续在安卓的入土之旅全速前进。
Android 入门第四讲01-列表ListView(用代码添加布局文件(添加控件+布局),ListView原理,ListView使用步骤,ListView填充数据案例,ListView填充多个数据)