美文网首页
Activity&Fragment生命周期

Activity&Fragment生命周期

作者: 王三的猫阿德 | 来源:发表于2017-09-22 16:37 被阅读50次

    转载注明出处:http://www.jianshu.com/p/ff8c1d809068

    每次去查看Activity和Fragment交叉时候的生命周期感觉都比较乱,网上的文章写的实在是不想吐槽,直接自己撸了一发。

    工程地址:https://github.com/Kyogirante/AFLifeCiecleDemo

    Fragment之间切换生命周期

    add方式

    未调用hide方法,所以没有触发onHiddenChanged回调

    图 - 1 add方式添加再返回

    replace方式

    图 - 2 replace方式添加并返回

    Activity的onCreate()方法中使用代码加载Fragment

    这个一般不在正常的生命周期讨论范围内,只是个人比较好奇。
    如果在Activity的某个生命周期动态载入Fragment,Fragment的生命周期直接会与Activity生命周期对齐,例如下图,Fragment生命周期直接走到了onStart才停止。

    图 - 3 activity的create方法中使用代码动态replace布局添加fragment

    Activity的布局中直接使用fragment元素

    正常的生命周期讨论范围很重要,可以看见Fragment的生命周期回调先与Activity。

    图 - 4 布局中使用Fragment和activity生命周期

    多个Activity切换生命周期

    • 上一个Activity会先onPause,等下一个Activity执行onResume显示后,上一个Activity才会执行onStop从视野中消失,所以有时候页面跳转慢,可能是在onPause/onCreate/onStart/onResume方法中做了耗时操作
    • Fragment的生命周期与Activity同步,只要理解了上一张图,这个就很好理解
    图 - 5 带fragment的activity切换

    相关文章

      网友评论

          本文标题:Activity&Fragment生命周期

          本文链接:https://www.haomeiwen.com/subject/rpufextx.html