面试之 Activity和Frament生命周期

Activity生命周期

有7个
1、onCreat() 创建 这个方法是我们在创建一个新的Activity的时候必须要重写的 他会在Activity第一次被创建的时候执行 所以一般在这个方法内做初始化操作 比如加载布局 初始化控件 绑定按钮点击事件
2、onStart() 开始 这个方法是把一个Activity从不可见变成可见的时候调用
3、onResume() 这个方法是在准备和用户交互的时候调用 这个时候Activity一定处于栈顶 并且是运行状态
4、onPause() 暂停 在程序准备启动或回复一个另一个Activity 的时候调用 例如 听歌的时候来电话 主要用于保存Activity的状态信息
5、onStop() 停止 这个是在Activity完全不可见 是时候调用的 他和onPause的区别在于 调用onPause的时候 页面只是失去焦点但还可见 而onStop() 是完全不可见的 被另一个Activity盖住 或者后台运行
举个例子 如果你点击一个按钮 弹出来的是一个对话框 这时候会调用onPause() 如果弹出来的是一个新的Activit 这时候调用的是onStop()。
6、onDestory() 销毁 这个是在Activity被销毁之前调用的 调用之后就被销毁了
7、onRestart() 重启 这个方法是在Activity被停止后 又重新启动了的时候调用 前提没有销毁

8、onAttachedToWindow() 这个方法调用在onResume之后 每个view只会被调用一次 无视这个view的visibility状态 都会被调用 适合做控件特定的一些初始化操作
9、onDetachedFromWindow() 调用在Destory后 被删除的时候 也是每个view只执行一次 也无视view的visibility 适合做最后的清理操作
10、onSaveInstanceState() 调用在onStop()之前用于保存数据 如果摁下的是home键会调用 如果是返回键 不会调用 因为返回键代表这个Activity已经用完了

状态变化的时候调用情况
创建一个Activity的时候
onCreat() onStart() onResume() onAttachedToWinow()、

按下Home键
onPause() onsaveInstanceStace() onStop()

再从桌面点击图标
onRestart() onStart() onResume()

按下返回键
onPause() onStop() onDestory() onDetachedFormWindow()

从A跳到B
onPause() onCreat() onStart() onResume() onAttachedToWindow() onSaveInsTanceState() onStop()
onStop是为了 跳转第二个页面的时候放止意外闪退

Frament生命周期

有11个
onAttach() 是一个回调函数 只会执行一次 调用它的时候就可以获取Activity的值 与Activit通信 可以使用getActivity()前提是 已关联没有脱离
onCreat()
也是只会执行一次 创建一个Framnet的时候回调他 用来实例化变量
onCreatView()
这个方法主要是加载布局 加载的越快越好 所以在这个方法内尽量不要做耗时操作
onActivityCreated()
在Actvivty的onCreat()之后执行 把控件初始化控件之类的方法 在这里面执行
onStart()
同Actviity
onResume()
同Actviity
onPause()
同Actviity
onStop().
同Actviity
onDestoryView()
布局被移除的时候调用 销毁相关的ui布局和跟视图有关的资源
onDestory()
销毁frament对象
onDeatch()
与Activity解除关联

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值