Android的Fragment的生命周期各状态和回调函数使用

2019-12-10 18:57:56于海丽
if(text==null){
      Bundle args=getArguments();
      text=args.getString("text");
    }
    if (view == null) {
      view = inflater.inflate(R.layout.hello, null);
    }

这样进行各判断省得每次都要加载,减少资源消耗

onActivityCreated()

    当Activity中的onCreate方法执行完后调用。   

    注意了:
    从这句官方的话可以看出:当执行onActivityCreated()的时候 activity的
    onCreate才刚完成。
    所以在onActivityCreated()调用之前 activity的onCreate可能还没有完成,
    所以不能再onCreateView()中进行 与activity有交互的UI操作,UI交互操作可以在onActivityCreated()里面进行。
    所以呢:这个方法主要是初始化那些你需要你的父Activity或者Fragment的UI已经被完
    整初始化才能初始化的元素。
    如果在onCreateView里面初始化空间 会慢很多,比如listview等。
onStart()

    和activity一致,启动Fragement 启动时回调,,此时Fragement可见。
onResume()

    和activity一致  在activity中运行是可见的。激活, Fragement 进入前台, 可获取焦点时激活。
onPause()

    和activity一致  其他的activity获得焦点,这个仍然可见
    第一次调用的时候,指的是 用户 离开这个fragment(并不是被销毁)
    通常用于 用户的提交(可能用户离开后不会回来了)
onStop()

    和activity一致, fragment不可见的, 可能情况:activity被stopped了OR fragment被移除但被,加入到回退栈中,一个stopped的fragment仍然是活着的如果长时间不用也会被移除。
onDestroyView()

    Fragment中的布局被移除时调用。
    表示fragemnt销毁相关联的UI布局, 清除所有跟视图相关的资源。

    以前以为这里没什么用处其实 大有文章可做,