1. 程式人生 > >Android面試集錦之Fragment(知識整理)

Android面試集錦之Fragment(知識整理)

一、Fragment為什麼被稱為第五大元件
使用頻率高,ui切換效果好,更節省記憶體,因為其有自己的生命週期,所以也算不到四大元件裡取;fragment必須依附於activity存在。
二、Fragment載入到activity中的兩個方式
靜態載入,動態載入,(太基礎了不說了)
三、FragmentPagerAdapter和FragmentStatePagerAdapter的區別
在實際的使用過程中Fragment常常和Adapter一起搭配使用;(前提)
兩個adapter的區別在於,前者用於頁面較少的情況下,後者用於頁面較多的情況下;
原因呢,通過後者的原始碼可以看出:destroyItem方法中,最後一句是remove掉Fragment的,真正的釋放了fragment記憶體;而前者的destroyItem方法中,最後一句是detach,這個並不是真正的釋放記憶體的。
四、Fragment的生命週期


這裡寫圖片描述
如圖:
1.onAttach方法是用來建立fragment用的,不過此時activity還未建立成功
2.onCreateView是第一次繪製頁面時呼叫,返回的必須是fragment的根檢視
3.onActivityCreated是activity已經渲染成功後呼叫
五、Fragment之間的通訊
1.在Fragment中呼叫Activity的getActivity
2.在Fragment增加介面在Activity中進行實現,介面回撥
3.Fragment與Fragment之間的通訊,用findFragmentById