复习Android之Fragment的酸甜苦辣

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/github_34402358/article/details/88716257
  1. Fragment是什么?
  2. Fragment的优点
  3. Activity和Fragment的异同?
  4. Fragment的生命周期
  5. 何时会考虑使用Fragment?

Fragment是什么?

Fragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑, 当然现在他仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragment, 我们可以把他看成一个小型的Activity,又称Activity片段!

Fragment的优点

  1. 在基础性能上大幅度提高,并且占用内存降低。
  2. 中低端机上响应速度很快
  3. 以后移植平板,节省大量时间和精力。

Activity和Fragment的异同?

  1. Fragmentactivity 继承自Activity,用来解决android3.0 之前没有Fragment的api,所以在使用的时候需要导入support包,同时继承Fragmentactivity,这样在Activity中就能嵌入Fragment来实现你想要的布局效果。
  2. Activity 代表了一个屏幕的主体,而Fragment可以作为Activity的一个组成元素。
  3. 一个Activity可以有若干个(0或n)Fragment构成。你可以把Fragment想象成Activity中的一个控件,只不过相对于一般控件,Fragment与Activity联系更为紧密,随着Activity的生命周期变化,Fragment也随之相应不同的生命周期函数。
  4. Fragment不能脱离Activity而存在,只有Activity才能作为接收intent的载体。其实两者基本上是载体和组成元素的关系。

Fragment的生命周期

在这里插入图片描述

onAttach():当Activity和Fragment建立关联的时候调用。
onCreate():初始化Fragment,可通过参数savedInstanceState获取之前保存的值。
onCreateView(): 初始化Fragment的布局,不建议执行耗时的操作。
onActivityCreate(): 此时,Fragment绑定的Activity的onCreate方法已经执行完成并返回,在该方法内可以进行与Activity交互的UI操作,所以在该方法之前Activity的onCreate方法并未执行完成。
onStart(): 此时,Fragment由不可见变为可见状态。
onResume():此时,Fragment处于活动状态,用户可与之交互。
onPause():此时,Fragment处于暂停状态,但依然可见,用户不能与之交互。
onStop(): 此时,Fragment完全不可见。
onDestroyView(): 此时,销毁与Fragment有关的视图,但未与Activity解除绑定,依然可以通过onCreateView方法重新创建视图。通常在ViewPager+Fragment的方式下会调用此方法。
onDestroy(): 此时,销毁Fragment。通常按Back键退出或者Fragment被回收时调用此方法。
onDetach(): 此时,解除与Activity的绑定,在onDestroy方法之后调用。

何时会考虑使用Fragment?

个人建议:

  1. 适配不同的设备上比如手机和平板。
  2. 主页tab都是用Fragment,类似的一个页面下有多个布局需要切换的时候感觉用Fragment很方便。
  3. 用户注册登录功能,现在项目中就是这样用的。

猜你喜欢

转载自blog.csdn.net/github_34402358/article/details/88716257