Fragment基础----生命周期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fragment基础----生命周期相关的知识,希望对你有一定的参考价值。

Fragment生命周期和Activity对比

技术分享

注意:在一个app的运行期间,前台的activity有时可能会被其他的视图组件打断,然后进入pause状态。 比如打开一个半透膜的activity (比方一个dialog风格的activity),前一个activity就会进入pause。其实这个时候前一个activity是部分可见的,只是被后来的视图组建挡住了而 失去焦点,这种情况下,失去焦点的activity就处于pause状态。

但是,当一个activity被打断,并且完全不可见时(即使没被挡住也看不到),这时activity就是处于stops状态。

研究Fragment周期最好的方法就是建立一个Fragment然后覆写声明周期所有方法并打上log,观察在不同状态下的log打印情况

Test-1,直接打开一个APP观察其Log

技术分享

当用户从pause状态回到activity,系统将会调用onResume()方法。

值得注意的是每次activity回到前台显示的时候onResume方法都会被调用,即使在第一次启动activity的时候也是如此。所以,你应该实现onResume() 来初始化你在onPause()中释放了资源的控件,同时主动触发activity在进入resume状态的时候会发生的其他所有初始化(比如在activity获得用户焦点的时候动画效果和控件的初始化)。

Test-2,按返回键关闭应用

技术分享

Test-3,按home键然后再打开应用

技术分享

Test-3,给activity设定按钮,并跳转到下一个页面,然后按返回键回到第一个activity

技术分享

 

以上是关于Fragment基础----生命周期的主要内容,如果未能解决你的问题,请参考以下文章

关于Activity和Fragment生命周期的问题

fragment生命周期

在不存在的片段上调用片段生命周期和 onCreate 的问题

在视图寻呼机中使用时的片段生命周期

使用 Fragment 和 Activity 执行生命周期流程的问题

导航上的片段生命周期重叠