基础篇-Activity解析

本文详细介绍了Android中Activity的生命周期、Fragment的使用方法,包括onAttach()到onDestroyView()的各个阶段,以及如何通过FragmentTransaction进行操作。此外,还解析了Activity的不同加载模式,如standard、singleTop、singleTask和singleInstance,以及它们的影响。最后,讨论了Activity与Window、View的关系,特别提到了setContentView()方法的作用。
摘要由CSDN通过智能技术生成

一,Activity生命周期


相信不少朋友也已经看过这个流程图了,也基本了解了Activity生命周期的几个过程,我们就来说一说一些常见操作的生命周期执行情况吧
(1) 启动Activity:onCreate()->onStart()->onResume->Activity进入运行状态
(2) 被其他Activity,窗口覆盖或锁屏:onPause()->暂停当前Activity状态
(3) 当前Activity由被覆盖状态回到前台或解锁屏: onResume()->再次进入运行状态
(4) 当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:onPause()->onStop->不可见状态
(5) 回退到不可见状态的Activity: onRestart()->onStart()->onResume->再次进入运行状态
(6) 当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:onCreate()->onStart()->onResume()->进入运行状态
(7) 用户finish退出当前Activity:onPause()->onStop()->onDestory()->结束当前Activity

扩展一些:

1 . onWindowFocusChanged:在 Activity窗口获得或失去焦点时被调用,在onResume与onPause后调用
onResume()-> onWindowFocusChanged()->运行状态->onPause-> onWindowFocusChanged()
比如onCreate中Window对象没有初始化完成,一些动态计算控件大小,动画加载可能报错,所以可以将加载相关的代码放在这个方法中执行

2 . onSaveInstanceState与 onRestoreInstanceState:
(1)在Activity被覆盖或退居后台之后,系统资源不足将其杀死, onSaveInstanceState 会被调用,回退到此Activity时,调用 onRestoreInstanceState
(2)在用户改变屏幕方向时, 系统先销毁当前的Activity,然后再重建一个新的,调用此方法保存一些临时数据
(3)在当前Activity跳转到其他Activity或者按Home键回到主屏,自身退居后台时,此方法会被调用。系统调用此方法是为了保存当前窗口各个View组件的状态.

保存状态时调用顺序:运行状态-> onSaveInstanceState()->onPause()
恢复状态时调用顺序:onStart()->onRestoreInstanceState()->onResume

3.onConfigurationChange():当指定了android:configChanges="orientation"后,方向改变时onConfigurationChanged被调用,可以setContentView(R.layout.orientation_landscape),设置Activity不同的xml布局文件适配

二.Fragment 碎片

1.产生与介绍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值