[Android] Activity vs Fragment & Fragment vs View
前陣子開發就遇到這兩個問題: 當Activity變得太肥大,想切小時,可以把它切成幾個fragment嗎? (還是說fragment只是專門用來處理不同螢幕大小時的版面配置呢?) 當畫面某一區塊有很多功能,且可能會在其他地方重覆出現時,應該要把他做成一個view元件,還是做成一個fragment? 剛好這幾天在看Android Dev Summit 2015的演講(都是由Google內部負責相關領域的工程師出來分享),其中有一小段就談到這個大家時常在問的問題: 他們的看法是: Activities vs Fragments: Fragment其實就是Activity裡的子件(Fragments are encapsulated parts of Activity),所以當一個Activity變得過於肥大,想要切小時,就可以用fragment。 或者即便Activity不大,但希望對不同部分做出分區時,也一樣可以用fragment。 Fragments vs Views: View只是基礎元件,但Fragment和Activity類似,都有生命週期和對event的控制。 View是被控制的角色,而Fragment則可以控制View,本質是不一樣的東西,所以應該把他們的角色職責化分清楚。 如果只是一個單純的UI元件,用View就可以了;但若和生命週期有關,或要加上Event,再來用fragments. 我的想法是,什麼東西該怎麼用,以及用意何在, 與其自己猜想或和旁人討論,不如直接去問問作者最清楚。 既然作者都出來說話了,應該是相當有參考價值囉!