基础知识篇(二)Activity之生命周期变化

Activity作为四大组件之一,App切换、新的Activity启动与关闭以及配置发生变化等等都会引起Activity生命周期发生变化

在这里插入图片描述

一、常规模式下

场景1

A 启动 B 页面

//A启动B页面后
A:onPause
B:onCreate
B:onStart
B:onResume
A:onStop


//然后关闭B页面后 
B:onPause
A:onRestart
A:onStart
A:onResume
B:onStop
B:onDestroy
场景二
//回到桌面或者切换到其他App
//直接锁屏
A:onPause
A:onStop

//再次回到App
//解锁后回到App
A:onRestart
A:onStart
A:onResume

二、非常规模式下

修改Activity配置信息下生命周期发生变化

场景一

屏幕方法发生变化

//调用setRequestedOrientation 方法后
onPause-->
onStop-->
onDestroy-->
//Activity已销毁并重建
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->

场景二

把该Activity添加 android:configChanges=“orientation|screenSize”

//调用setRequestedOrientation 方法后
// 会调用 onConfigurationChanged()

场景二
把**android:configChanges=“orientation|screenSize”**改成android:configChanges=“orientation|keyboardHidden|screenSize”

//调用setRequestedOrientation 方法后
// 会调用 onConfigurationChanged()

切记一定要加上后边的screenSize否则在4.0以上版本生命周期执行不生效。

总结

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行1次,切竖屏时会执行1次
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges="orientation|keyboardHidden|screenSize"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
4、设置Activity的android:configChanges="orientation|keyboardHidden|screenSize"时,切屏切记要加上screenSize,否则4.0版本以上生命周期不生效

相关推荐

  1. Android学习笔记:activity生命周期

    2024-01-12 17:24:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-12 17:24:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-12 17:24:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-12 17:24:01       82 阅读
  4. Python语言-面向对象

    2024-01-12 17:24:01       91 阅读

热门阅读

  1. 龙芯系统部署Elasticsearch

    2024-01-12 17:24:01       51 阅读
  2. redis.conf 默认出厂内容

    2024-01-12 17:24:01       37 阅读
  3. 基于Redis的对象状态数据管理模块-后端开发

    2024-01-12 17:24:01       55 阅读
  4. kafka topic分区数设定

    2024-01-12 17:24:01       60 阅读
  5. 面试题目1

    2024-01-12 17:24:01       50 阅读
  6. 关于python变量的作用域,你了解多少?

    2024-01-12 17:24:01       58 阅读
  7. vue项目使用typescript创建抽象类及其使用

    2024-01-12 17:24:01       60 阅读
  8. 前端moa gif json显示动画

    2024-01-12 17:24:01       51 阅读
  9. 面试 React 框架八股文十问十答第五期

    2024-01-12 17:24:01       55 阅读
  10. 【Linux】ubantu学习笔记

    2024-01-12 17:24:01       60 阅读
  11. 做亚马逊怎么选品?

    2024-01-12 17:24:01       63 阅读
  12. 【嵌入式——QT】QAbstractTableModel继承

    2024-01-12 17:24:01       59 阅读
  13. React---函数组件的常用hook

    2024-01-12 17:24:01       64 阅读
  14. Linux实用命令

    2024-01-12 17:24:01       49 阅读