Activity生命周期以及切换横竖屏生命周期

Activity生命周期

  • 正常启动的Activity的生命周期
    • onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()
      仔细观察会发现activity的生命周期是对称的(这样很好记忆)
  • 当一个正常启动后的Activity别还可见,但是不可操作时(比如弹出了一个对话框再activity之上,或者出现了一个透明的activity再原来的activity之上)
    • 弹出对话框或上面添加一个透明activity->onPause()->关闭对话框或移除透明activity->onResume()
    • Pause就是暂停的意思,就好比你看视频,点击了暂停按钮,视频停止了,不再继续播放,在安卓里面onPause就是失去焦点,对activity来说就是虽然你还能看见我,但是你不能对我进行操作了。Resume就是又获取了焦点,去掉了上方的遮挡当然能对activity进行操作啦
  • 当一个正常启动的Activity切换到后台(当前Activity不可见),再切换回来(当前Activity又可见)
    • 切换到后台->onPause()->onStop()->切换回来->onStart()->onResume()
    • stop就是停止,相对activity来说就是停止对你的服务,activity被切换到后台,不可见了,start则是再次可见,就像你冲后台切换回来或者你从一个activity返回到之前打开的一个activity,有细心的人可能会发现为什么activity不可见为什么会调用onPause方法,你想想,这个activity都不可见了,你还能获取到他的焦点对他进行操作吗,当然不行了,所以当一个activity不可见的时候会先失去焦点再不可见,同时如果可见执行顺序应该是onStart()->onResume(),获取焦点又怎么到后面了?你想想如果界面都没看见,你就能点击了?可能吗?所以这个不能进行对称记忆。

附上官方声明周期图

activity生命周期.png

横竖屏切换生命周期

横竖屏切换可以参考文章
https://blog.csdn.net/qq_36713816/article/details/80538467

最后补充一点,我们通过设置android:screenOrientation属性可以指定当前activity的屏幕方向。
android:screenOrientation="portrait" 纵向
android:screenOrientation="landscape" 横向

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 启动与销毁Activity 不同于使用 main() 方法启动应用的其他编程范例,Android 系统会通过调用对...
    mouekz阅读 3,848评论 0 0
  • 启动与销毁Activity 不同于使用 main() 方法启动应用的其他编程范例,Android 系统会通过调用对...
    安卓Boy阅读 5,731评论 3 5
  • 【Android Activity】 什么是 Activity? 四大组件之一,通常一个用户交互界面对应一个 ac...
    Rtia阅读 9,212评论 3 18
  • 春雪 2月初已经立春了,前几天朋友圈疯转的大暴雪预警,自然是有些人不信的。我妈昨晚还一边在朋友圈评论“不知道是不是...
    谢大土阅读 2,087评论 0 2
  • 有些姑娘,独立的让人心疼; 当你一个人熬过了所有的苦, 也就没有那么想和谁在一起了。 ​​​ “好好吃饭,好好睡觉...
    moxi茉希阅读 1,852评论 1 1