美文网首页
Fragment的热点问题

Fragment的热点问题

作者: 今天也要努力呀y | 来源:发表于2020-03-11 21:59 被阅读0次

1.对Fragment的理解

fragment是在Android3.0之后出现的,fragment必须嵌入一个activity中,他的生命周期受其宿主activity的影响.加载方式有两种

  • 动态
    1.开启一个新事务
    2.通过事务添加Fragment
    3.提交事务
FragmentManager fragmentManager  = getFragmentManager();
//开启事务
FragmentTransaction beginTransaction = fragmentManager.beginTransaction();
Fragment1 fragment1 = new Fragment1();  
beginTransaction.replace(android.R.id.content,fragment1);
//最后一步 记得commit
beginTransaction.commit();

  • 静态.

2.Fragment的生命周期

onAttach() 绑定Fragment到Activity
onCreate() 创建Fragment
onCreateView() 创建Fragment的布局
onActivityCreated()Activity创建完成后回调此方法
onStart()可见,不可交互
onResume()可见可交互
onPause()部分可见,不可交互
onStop()不可见
onDestroyView()销毁Fragment的View对象
onDestroy() Fragment被销毁
onDetach() Fragment与Activity解绑

image.png

Activity和Fragment的异同

1、从最基础的开始说--->生命周期

Activity有7个生命周期:onCreate(); onStart(); onResume(); onPause(); onStop(); onDestroy(); onRestart();

Fragment有11个生命周期:onAttach(); onCreate(); onCreateView(); onActivityCreate(); onStart(); onResume(); onPause(); onStop(); onDestroyView(); onDestroy(); onDetach();

所以Fragment比较与Activity来说会更加灵活,因为生命周期多了,你可以控制的地方也就多了。

2、从灵活性上来说

  • Fragment比Activity来说更加灵活,可以在XML文件中直接进行写入,也可以在Activity中动态添加;
  • 可以使用show()/hide()或者replace()随时对Fragment进行切换,并且切换的时候不会出现明显的效果,用户体验会好;Activity虽然也可以进行切换,但是Activity之间切换会有明显的翻页或者其他的效果,在小部分内容的切换上给用户的感觉不是很好

Fragment与Activity如何相互

在Fragment中获取Fragment实例
通过getActivity()获取Context

相关文章

网友评论

      本文标题:Fragment的热点问题

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