Fragment知識點

1、Fragment爲什麼被稱爲第五大組件?

 1、Fragment爲什麼被稱爲第五大組件

  Fragment跟其餘的4個組件一樣,具有自己的生命週期。在android3.0的引入,起初是爲了給大

 屏幕設備更靈活展現UI

所用到的。之後呢大家更偏向於Fragment的UI開發是由於Fragment比Activity更加節省內存,同時

UI的切換效果更加舒適。

2、Fragment加載到Activity的兩種方式

  靜態加載:就是在佈局中寫入。

 動態加載:

    主要是通過FragmentManager獲取FragmentTransaction對象來管理Fragment的

3、FragmentPagerAdapter與FragmentStatePagerAdapter的區別

 主要的區別是FragmentPagerAdapter適用於Fragment較少的時候,FragmentStatePagerAdapter適

用於頁面比較多的時候。

在FragmentStatePagerAdapter的destroyItem()方法中的remove()可以看到是真正的釋放了Fragment內存,

所以所大量Fragment的情況下FragmentStateAdapter比FragmentPagerAdapter更加節省內存。


在FragmentPagerAdapter中的destroyItem()方法中的detach()方法是隻是把FragmentUI跟ActivityUI脫離,

並沒有真正的去釋放Fragment的內存。

2、Fragment的生命週期?

 

 Activity與Fragment結合的生命週期圖

 onAttach:是Fragment與Activity建立關聯有所回調的。

onCreate:在初次創建Fragment的時候調用的。

onCreateView:是系統在Fragment獲取用戶界面的時候調用的,繪製UI

onCreated:Fragment表明Fragment UI界面完全繪製好了。

onActivityCreated:是在Activity被繪製渲染成功後調用的方法。

onResume:Fragment可以跟用戶進行交互了。初始化完全完成。

onPause:Fragment不能跟用戶進行交互了。

onDestoryView: 跟Fragment的onCreateView相對應,會被保存

onDeach:Fragment不再被使用

3、Fragment之間的通信

 1、在Fragment中調用Activity中的方法getActivity

2、在Activity中調用Fragment的方法接口回調

3、在Fragment中調用Fragment中的方法findFragmentByid

4、Fragment的replace、add、remove方法

 replace:是FragmentManager的方法、是替換Fragment實例而不是將Fragment實例加到最上層

add:將Fragment實例添加到activity的最上層

remove:將Fragment實例從activity的Fragment隊列中刪除


發佈了26 篇原創文章 · 獲贊 8 · 訪問量 6057
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章