Android面试题之Fragment篇,腾讯、网易必问的20道题Android面试题

本文详细介绍了Fragment在Android面试中的重要性,包括Fragment解决Activity切换流畅性、替代TabActivity的优势、4.2版本的嵌套Fragment特性。还深入探讨了Fragment的栈管理、replace与add的区别、与Activity的传值方式、生命周期以及ViewPager对其影响。最后强调了掌握Fragment基础和进阶知识对于成为优秀Android开发者的重要性。
摘要由CSDN通过智能技术生成

(5)Fragment 解决 Activity 间的切换不流畅,轻量切换。(6)Fragment 替代 TabActivity 做导航,性能更好。

(7)Fragment 在 4.2.版本中新增嵌套 fragment 使用方法,能够生成更好的界面效果。


3.Fragment 如何实现类似 Activity 栈的压栈和出栈效果


Fragment 的事物管理器内部维持了一个双向链表结构,该结构可以记录我们每次 add 的Fragment 和 replace 的 Fragment,然后当我们点击 back 按钮的时候会自动帮我们实现退栈操作。


4.Fragment 的 replace 和 add 方法的区别


Fragment 本身并没有 replace 和 add 方法,这里的理解应该为使用 FragmentManager 的 replace和 add 两种方法切换 Fragment 时有什么不同。

我们经常使用的一个架构就是通过 RadioGroup 切换 Fragment,每个 Fragment 就是一个功能模块。

Fragment 的容器一个 FrameLayout,add 的时候是把所有的 Fragment 一层一层的叠加到了FrameLayout 上了,而 replace 的话首先将该容器中的其他 Fragment 去除掉然后将当前 Fragment添加到容器中。

一个 Fragment 容器中只能添加一个 Fragment 种类,如果多次添加则会报异常,导致程序终止,而 replace 则无所谓,随便切换。

因为通过 add 的方法添加的 Fragment,每个 Fragment 只能添加一次,因此如果要想达到切换效果需要通过 Fragment 的的 hide 和 show 方法结合者使用。将要显示的 show 出来,将其他 hide起来。这个过程 Fragment 的生命周期没有变化。通过 replace 切换 Fragment,每次都会执行上一个 Fragment 的 onDestroyView,新 Fragment的 onCreateView、onStart、onResume 方法。

基于以上不同的特点我们在使用的使用一定要结合着生命周期操作我们的视图和数据。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值