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

2019-12-10 18:57:56于海丽
易采站长站为您分析Android的Fragments的生命周期各状态和回调函数使用,Fragments的生命周期与Activity息息相关,需要的朋友可以参考下  

回调函数

就像activities一样,fragments也有它们自己的生命周期。理解fragments的生命周期,可以使你在它们被销毁的时候保存它们的实例,这样在它们重新被创建的时候,就能恢复它们之前的状态。

流程: 
onAttach() 
作用:fragment已经关联到activity,

    这个是 回调函数

  @Override
  public void onAttach(Activity activity) {
      super.onAttach(activity);
      Log.i("onAttach_Fragment");
  }

    这个时候 activity已经传进来了, 获得activity的传递的值 就可以进行 与activity的通信里, 当然也可以使用getActivity(),前提是这个fragment已经和宿主的activity关联,并且没有脱离,他只调用一次。
onCreate() 
系统创建fragment的时候回调他,在他里面实例化一些变量 
这些个变量主要是:当你 暂停 停止的时候 你想保持的数据 
如果我们要为fragment启动一个后台线程,可以考虑将代码放于此处。 
参数是:Bundle savedInstance, 用于保存 Fragment 参数, Fragement 也可以 重写 onSaveInstanceState(BundleoutState) 方法, 保存Fragement状态; 
可以用于 文件保护 
他只调用一次。

onCreateView()

    第一次使用的时候 fragment会在这上面画一个layout出来, 为了可以画控件 要返回一个 布局的view,也可以返回null。

    当系统用到fragment的时候 fragment就要返回他的view,越快越好 ,所以尽量在这里不要做耗时操作,比如从数据库加载大量数据显示listview,
    当然线程还是可以的。

    给当前的fragment绘制ui布局,可以使用线程更新UI,说白了就是加载fragment的布局的。
    这里一般都先判断是否为null。