Fragment和View的比較

2021-06-29 05:03:07 字數 726 閱讀 9531

fragment和view都有助於介面元件的復用,這在大型工程裡邊是特別重要的,但是二者又有所區別。

1、fragment的復用粒度更大。fragment有完整的生命週期,從**設計角度講可以提高內聚性,不同情況下還可以設計不同的fragment,比如橫屏和豎屏情況下view的顯示不一樣,那麼可以建立2個不同的fragment去處理,**上面可以有效的擴充套件。

從形態上講和activity更為接近,當然從程式設計角度上看也比view更為複雜。但是fragment可以組裝更多的view同一展示,而且生命週期有助於資源的管理。

2、簡單的直接view,複雜的才用fragment,fragment資源消耗比較大。

3、乙個fragment必須總是繫結到乙個activity中,雖然fragment有自己的生命週期,但同時也被它的宿主activity的生命週期直接影響。

大部分情況下,fragment用來封轉ui的模組化元件;但是也可以建立沒有ui的fragment來提供後台行為,該行為會一直持續到activity重新啟動。這特別適合於定期和ui互動的後台任務或者當因配置改變而導致activity重新啟動是,儲存狀態變得特別重要的場合。

注意:當activity因為配置發生改變(螢幕旋轉)或者記憶體不足被系統殺死,造成重新建立時,我們的fragment會被儲存下來,但是會建立新的fragmentmanager,新的fragmentmanager會首先會去獲取儲存下來的fragment佇列,重建fragment佇列,從而恢復之前的狀態。

fragment和activity之間的區別

首先這裡不準備論述fragment和activity的具體定義,用法和概念。只是建立在了解這兩個東西的基礎上談區別。在理解二者之間的區別的時候,只需要不斷的問自己乙個問題,就是fragment能做到的activity能做到嗎?可以做到的話沒問題,不可以做到的話,為什麼不可以呢?這個為什麼就是區別。先...

Fragment和activity的通訊

fragment和activity的通訊有倆種情況 通過activity的方法傳值,例如 public void show string text 傳遞的值 fragment呼叫方法 呼叫activity mainactivity mainactivity mainactivity getactiv...

Fragment的原理和優化

fragment 管理框架公升級到了 0.1.0,新增了乙個新的介面startfragmentanddestroycurrent,可以方便的完成類似startactivity之後 finish 的效果 之前也有人在 issue 中問道如何實現類似activity finish 的效果,我不加思索的回...