書中示範「單 Activity 多次 `setContentView` 切換畫面」,實務上極不推薦。兩種架構差異如下:
| 維度 | 單 Activity + 多 setContentView | 多 Activity / Fragment |
|---|---|---|
| 生命週期管理 | 混亂:手動管理 View 狀態、資源釋放、返回鍵邏輯 | 框架自動管理:onPause/onStop/onDestroy、Back Stack |
| 記憶體/效能 | 頻繁 inflate/layout 導致 GC 抖動,複雜頁面易 OOM | Fragment 複用、ViewPager 預載、Activity 彈出銷毀釋放記憶體 |
| 程式碼結構 | 上帝類:所有邏輯塞在一個 Activity,極難維護 | 關注點分離:每個頁面獨立類別,符合單一職責 |
| 導航/深層連結 | 需自行實現堆疊、Intent 處理 | Jetpack Navigation / Intent 標準支援 |
| 適用場景 | 極簡 Demo、教學範例、無狀態引導頁 | 所有正式專案 |
ViewBinding + Navigation Component。Activity,避免 Fragment 生命週期複雜度。教材展示 `setContentView` 多次呼叫純粹為演示 API 用法,非架構建議。實務開發請直接採用「單 Activity 多 Fragment」或「多 Activity」標準模式。