Activity生命周期
来源:互联网 发布:软件著作权变更流程 编辑:程序博客网 时间:2024/06/18 08:42
Activity生命周期
* onCreate:创建时调用
* onStart:在屏幕上可见,但是还没有获得焦点
* onResume:可见并且获得焦点
* onPause:可见,但是失去焦点
* onStop:不可见
* onDestroy:销毁时调用
* 手机内存不足时,会杀死之前启动的进程,按照LRU算法(最近最少使用)锁定杀死谁
* Activity生命周期
void onCreate()
- Activity已经被创建完毕
void onStart()
- Activity已经显示在屏幕,但没有得到焦点
void onResume()
- Activity得到焦点,可以与用户交互
void onPause()
- Activity失去焦点,无法再与用户交互,但依然可见
void onStop()
- Activity不可见,进入后台
void onDestroy()
- Activity被销毁
void onRestart()
- Activity从不可见变成可见时会执行此方法
使用场景
- Activity创建时需要初始化资源,销毁时需要释放资源;或者播放器应用,在界面进入后台时需要自动暂停
完整生命周期(entire lifetime)
onCreate–>onStart–>onResume–>onPause–>onStop–>onDestory
可视生命周期(visible lifetime)
onStart–>onResume–>onPause–>onStop
前台生命周期(foreground lifetime)
onResume–>onPause
横竖屏切换的生命周期
默认情况下 ,横竖屏切换, 销毁当前的activity,重新创建一个新的activity
在一些特殊的应用程序常见下,比如游戏,不希望横竖屏切换activity被销毁重新创建
需求:禁用掉横竖屏切换的生命周期
横竖屏写死
android:screenOrientation=”landscape”
android:screenOrientation=”portrait”让系统的环境 不再去敏感横竖屏的切换。
android:configChanges="orientation|screenSize|keyboardHidden"
横竖屏切换
* 默认情况横竖屏切换会触发生命周期方法重新执行,Activity销毁重建
* 用以下代码让横竖屏切换时不重建Activity
android:configChanges="orientation|screenSize|keyboardHidden"
* 用以下代码写死屏幕方向
android:screenOrientation="portrait"
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //写死横屏 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); System.out.println("主create"); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); System.out.println("主start"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); System.out.println("主resume"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); System.out.println("主pause"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); System.out.println("主stop"); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); System.out.println("主destroy"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); System.out.println("主restart"); } public void click(View v){ Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); }}
public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); System.out.println("二create"); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); System.out.println("二start"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); System.out.println("二resume"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); System.out.println("二pause"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); System.out.println("二stop"); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); System.out.println("二destroy"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); System.out.println("二restart"); } public void click(View v){ Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); }}
参考:Android Activity
阅读全文
0 0
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- CentOS 6&7 下安装二进制版FFMPEG
- oracle操作语句
- android ndk Hello World
- Android 使用RecyclerView实现(仿微信)的联系人A-Z字母排序和过滤搜索功能
- android.content.res.Resources$NotFoundException: String resource ID #0x0
- Activity生命周期
- Java 各类型的范围
- 微信小程序实战篇-购物车
- nodejs的整体安装与使用详细步骤!小白必读!!!
- 【京东量化平台周年庆】技术交流月,好礼领不停
- spring学习之---注解配置
- 矩阵秩
- Ubuntu16.04+GTX1050ti+CUDA8.0+TensorFlow-gpu+Keras+Pycharm配置深度学习环境
- HANA 基础SQL和SQLScript