复习Android之Fragment的酸甜苦辣

本文围绕Android开发中的Fragment展开,介绍其是3.0后引入的API,可视为小型Activity。阐述了Fragment优点,如性能提升、移植方便等,对比了与Activity的异同,详细讲解其生命周期各阶段,还给出了使用Fragment的场景建议,如适配不同设备等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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. 用户注册登录功能,现在项目中就是这样用的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值