android四大主件Activity存在自己的生命周期,google官网上用下面一张图说明生命周期。


7个生命周期方法:


(1)onCreate(Bundle bundle);创建Activity,

(2)onStart();开启Activity时调用,此时activity界面用户可见。

(3)onResume();在Activity显示时调用,获取焦点,文本框可输入,按钮可点击。

(4)onPause();在某个Activity被覆盖,但是又没有被完全覆盖时调用。失去焦点,文本框不可输入,按钮不可点击,界面仍可见。

类似于游戏的暂停状态。

(5)onStop();在某个Activity被覆盖时调用,activity界面用户不可见。

(6)onRestart();在某个Activity被覆盖后又重新显示时调用

(7)onDestroy();最后销毁时调用


此外还有两种生命周期

可视生命周期:onStart())-->onResume())-->onPause())-->onStop()

前台生命周期: onresume-->onpause 界面用户仍然可见,但是失去焦点


使用场景:
1.应用程序退出自动保存数据 ondestory oncreate
2.应用程序最小化 暂停的操作 onstop onstart 视频播放器
3.游戏的暂停和开始 前台生命周期



tips:

一:从一个activity跳转到另一个activity,第一个activity会将整个生命周期走完,onCreate()-->onStart())-->onResume()-->onPause()-->onStop()-->onDestroy()

然后第二个activity的生命周期是onCreate()-->onStart()-->onResume()。


如果第二个activity的style是Dialog窗口模式

<activity android:theme="@android:style/Theme.Dialog"/>,那么第一个activity之执行到onPause()


二:屏幕横竖屏切换时会把当前activity销毁再次创建一个新的activity,数据都不复存在。


禁止横竖屏切换方法:

 <activity android:name="com.zhangyan.itheima28.IntentActivity"            android:screenOrientation="portrait"            android:configChanges="orientation|keyboardHidden|screenSize">  </activity>

当android:configChanges指定的属性发生变化时,不会去重新启动Activity,而是通知程序去调用 onConfigurationChanged()函数 例如:在进行横竖屏的切换时,会重新启动Activity,而定义了这个属性,就不会重新启动Activity了,而是去调用 onConfigurationChanged()函数


自从Android 3.2(API 13),在设置Activity的android:configChanges="orientation|keyboardHidden"后,还是一样 会重新调用各个生命周期的。因为screen size也开始跟着设备的横竖切换而改变。所以,在AndroidManifest.xml里设置的MiniSdkVersion和 TargetSdkVersion属性大于等于13的情况下,如果你想阻止程序在运行时重新加载Activity,除了设置"orientation", 你还必须设置"ScreenSize"。



更多相关文章

  1. [Android]_[ACtivity生命周期]
  2. Android面试题总结(五)Android基础篇
  3. Android(安卓)开发学习小结(五)
  4. 【Android】【Fragment】Fragment生命周期
  5. Android(安卓)快速掌握Fragment生命周期与使用技巧
  6. 学习笔记:基于OpenCV的Android拍照功能的实现
  7. Android(安卓)架构组件之---LifeCycle 详解
  8. Android(安卓)中文api (81)——InputMethod [输入法]
  9. 类 QQ登入界面的 布局,防登入按钮被覆盖

随机推荐

  1. Android(安卓)DDMS ADB启动失败错误解决!
  2. android bluetooth蓝牙移植
  3. Android(安卓)绘制一个Loading动画__向图
  4. Android-- Dialog对话框的使用方法
  5. Android2.3 API变更概要
  6. Android(安卓)反编译APK文件
  7. Android(安卓)O中修改NotificationChanne
  8. Android(安卓)Gatekeeper流程深度解剖
  9. Errors running builder 'Android(安卓)R
  10. android画图-----DensityActivity 添加view