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

原文地址:https://www.cnblogs.com/Singleorb/p/5183270.html