Activity的生命周期
2016-04-17 19:53
239 查看
Activity是Android应用程序的四大组件之一,管理Android应用程序的用户界面。其中,比较重要的是Activity生命周期。想学好Activity,就要搞明白生命周期的概念和定义,以及生命周期的运行状态。下面来挨个说一下Activity的生命周期。
在状态转变的时候,会出发一些事件,会执行一些回调方法来通知状态的变化。
onCreate():创建时执行
onStart():可见时执行
onRestart():回到前台,再次可见时执行
onResume():获取焦点时执行
onPause():失去焦点时执行
onStop():用户不可见时进入后台执行
onDestory():销毁时执行
google公司提供的Activity生命周期模型
当Activity从启动到关闭时,会依次执行 onCreate——>onStart——>onResume——>onPause——>onStop——>onDestroy,
当执行到失去焦点时,会重新调用到前台执行onResume,
当执行到onStop时,Activity不可见,再次回到前台会执行onRestart和onStart,
如果进程被杀死,Activity会重新执行onCreate。
现实生活中,使用手机可能会翻转屏幕(横竖屏切换),切换时,Activity会销毁重建。如果不希望切换时Activity销毁,可以在AndroidManifest.xml文件中设置android:configChanges的属性。如:
android:configchanges="orientation|keyboardHidden|screenSize"
如果希望一直处于横屏或者竖屏,可以改变清单文件的Activity的参数来完成。如:
竖屏: android:screenOrientation="portrait"
横屏: android:screenOrientation="landscape"
Activity生命周期
1.运行状态
当Activity在屏幕的最前端,状态可见,有焦点,处理用户常见操作(点击、双击事件等)。2.暂停状态
某些情况下,也是可见的,但是无焦点,即用户的操作无实际意义。例如,当最上面的Activity没有完全覆盖屏幕时,被覆盖的屏幕仍然可见,并且存活。但是如果,内存不足,该暂停状态的Activity可能会被杀死。3.停止状态
当Activity完全不可见时,处于停止状态。但是仍然保留当前状态和成员信息。这些对于用户不可见。如果内存不足,则容易被杀死。在状态转变的时候,会出发一些事件,会执行一些回调方法来通知状态的变化。
onCreate():创建时执行
onStart():可见时执行
onRestart():回到前台,再次可见时执行
onResume():获取焦点时执行
onPause():失去焦点时执行
onStop():用户不可见时进入后台执行
onDestory():销毁时执行
google公司提供的Activity生命周期模型
当Activity从启动到关闭时,会依次执行 onCreate——>onStart——>onResume——>onPause——>onStop——>onDestroy,
当执行到失去焦点时,会重新调用到前台执行onResume,
当执行到onStop时,Activity不可见,再次回到前台会执行onRestart和onStart,
如果进程被杀死,Activity会重新执行onCreate。
现实生活中,使用手机可能会翻转屏幕(横竖屏切换),切换时,Activity会销毁重建。如果不希望切换时Activity销毁,可以在AndroidManifest.xml文件中设置android:configChanges的属性。如:
android:configchanges="orientation|keyboardHidden|screenSize"
如果希望一直处于横屏或者竖屏,可以改变清单文件的Activity的参数来完成。如:
竖屏: android:screenOrientation="portrait"
横屏: android:screenOrientation="landscape"
相关文章推荐
- 皮带传动故障诊断要点
- 堆排序
- Android TV开发--实现延时关机功能(二)逻辑实现
- css3的部分属性
- jQuery ajax
- RTP 时间戳的处理
- 快速排序 数组+递归实现
- 电机转子故障诊断要点
- FZU 2226 信心题
- 字符数组和字符串数组
- python模拟登陆知乎并爬取数据
- sublime Text 3 安装emmet
- jsp传值中文乱码
- HDU 1233 又是畅通工程 [kruskal]+[prim]【最小生成树入门】
- 利用SH函数绘制空间中动态物体
- 第一个java程序解析
- 一些预处理方法的链接
- Storm初认识
- 第二集:监督学习的应用,梯度下降
- 关于循环重复数字的相加 C语言越来越好玩