Android開發中,Fragment真的有大家說的那麼不堪嗎?

時間 2021-05-31 23:13:39

1樓:王胖子

square有一篇為什麼不使用fragment的blog,主要集中在生命週期複雜,難以除錯,動畫支援不好,個人覺得,對於結構簡單的專案沒有什麼影響,如果頁面較多,就需要一套系統的解決方案來簡化開發風險,降低成員之間的溝通成本,這和使用哪個基本元件作為ui單元的承載沒有關係,可以基於Activity,也可以基於Fragment和View.具體可以參考web的mvc,router等,也可以參考ios的uiviewcontroller系統

2樓:

感覺主流的專案中主頁基本都是乙個activity+vp+fragment(選卡對應的主頁)+radiogroup(底部選卡)構成的...

3樓:Poet King

首先,能用activity就不用fragment這不算答案。使用fragment是為了解決問題(可能是碎片化)而使用的,不是為了使用而使用。

其次,fragment好用是真的,但是難理解也是真的。我也只是會用,所以不敢談理解。

有人說白屏問題,我們應用出現了無限次業務bug,執行時異常,但是從來沒出現白屏問題。

還有出現了白屏,如果能找到原因,真的的api的bug,提出來也是好的。

4樓:李洪

第一次答,太有感觸,fragment感覺就是個怪胎,在大的產品上用可能會帶來很多問題,曾經參與過dau過億的產品開發,首頁使用tabhost +fragment來做的,最嚴重問題就是小概率的出現某個tab的fragment白屏,原因是tabhost已經將某個fragment選中,但是fragmentmanager並未將fragment的view顯示出來,對於這個問題很難修復,而且概率很小,只要當產品的練過上去了才發集中爆發。最後我的解決辦法就是廢棄fragment,自己寫了一套頁面管理框架,從此再也沒有遇到過上面說的白屏問題了。

更新fragment還有個問題就是套了child fragment後,相當複雜,而且child fragment啟動乙個他parent的評級fragment是,過渡動效不行。還有child fragment的進棧等問題。

5樓:賀人慶

先說結論:Fragment比Activity開銷小,可以放心使用,但是

千萬不要巢狀使用!

千萬不要巢狀使用!

千萬不要巢狀使用!

重要的事情說三遍。

一般不推薦使用Fragment的理由是其生命週期比較複雜,看下面這張圖(可以儲存下來備查)就知道了,但是不巢狀基本也不會出什麼么蛾子。

PS:多個Fragment之間切換(hide和show)的時候不會呼叫onResume,要用onHiddenChanged。

6樓:醋酸洋紅

我比較關注那更好的替代品是啥

----至於是不是真的比fragment好用,Talk is cheap,show me the code

7樓:yuri

好像老外對fragment詬病最多的是生命週期複雜(Advocating Against Android Fragments)。作為普通碼農在實際開發中還是使用fragment,比純activity強多了,靈活、可重用等好處樓上諸君也提到了。使用中坑還是挺多的,但基本上查api找到解決方案,除了某地圖在

FragmentTransaction 使用hide再show之後地圖卡死無法移動的bug,卡了半天只能用replace

8樓:毛海山

大部分說它不堪的人,很可能只是不想學習使用它而已,管理個Fragment能有多麻煩。

當然實際中應該根據情況選擇是否使用Fragment,有些情況下使用Fragment(比如巢狀)會有一些難解決的Bug,而為了開發效率很多時候也可以直接簡單粗暴地用Activity(聽說貼吧就是這樣的)。

9樓:SUN Eudemon

我遇到過一些fragment按back後重疊的問題,我都用repaace,按照網上的教程都改過,還是沒解決,但是我覺得fragment還是不錯

在校招中,如何寫出簡潔的 Android 開發簡歷?

如果去bat,Intel,Ms這種,把簡歷發給師兄,讓他們給你內推,這樣基本HR這關就搞定了,剩下的事情就是看技術那關面試你能不能hold住了。簡歷上寫好專業技能,專案經歷就好,不懂的不要裝就行。寫作看給誰看,都是程式猿就別用Word了,上md,大家都這麼裝逼不能不合群,給其他人看老老實實用Word...

Android開發和前端開發,該選擇哪個?

現在資深的Android專案負責人以前都不是做Android的Android上手相比於前端快,因為知識體系更系統適配的問題前端和安卓都存在,或者說無論那個層適配都存在。不過前端是調瀏覽器,Android是調螢幕大小 這兩個行業都是資深人士奇缺,入門者一堆 如果你喜歡前端,那麼你要踏踏實實的學HTML...

Android開發和web前端開發哪個前景更好

題主打算問多少年內的發展?如果現在還是學生階段,那多幸福,趁沒有就業負擔時都嘗試一下。就發展而言,先從web前端入行會更好。當然了,web前端要學的東西也更多。起碼相容問題就會比安卓複雜。web前端的技術生態也更活躍。安卓的話侷限在乙個平台上,前景還要受安卓本身的發展影響。安卓,其實也是 前端 的一...