安卓入门第三讲03-Activity的生命周期(理论)(Activity生命周期中的方法,Activity生命周期(一个和两个activity的生命周期分析))
安卓入门第三讲03-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 {
@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的方法调用顺序是
从第二个activity返回到第一个activity的方法调用顺序是
亲爱的小伙伴,关于activity的所有知识就讲完啦,是不是发现了新天地,谢谢您的阅读啦,下一讲我们讲列表ListView,继续在安卓的入土之旅全速前进。
上一篇: Servlet生命周期和执行流程