首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 單 Activity 多 setContentView vs 多 Activity:選型指南

     編輯:程式設計綜合問答

書中示範「單 Activity 多次 `setContentView` 切換畫面」,實務上極不推薦。兩種架構差異如下:

核心對比

維度單 Activity + 多 setContentView多 Activity / Fragment
生命週期管理混亂:手動管理 View 狀態、資源釋放、返回鍵邏輯框架自動管理:onPause/onStop/onDestroy、Back Stack
記憶體/效能頻繁 inflate/layout 導致 GC 抖動,複雜頁面易 OOMFragment 複用、ViewPager 預載、Activity 彈出銷毀釋放記憶體
程式碼結構上帝類:所有邏輯塞在一個 Activity,極難維護關注點分離:每個頁面獨立類別,符合單一職責
導航/深層連結需自行實現堆疊、Intent 處理Jetpack Navigation / Intent 標準支援
適用場景極簡 Demo、教學範例、無狀態引導頁所有正式專案

現代最佳實踐

  • 單 Activity + 多 Fragment (Google 官方推薦架構),配合 ViewBinding + Navigation Component。
  • 特殊頁面 (相機、地圖、全螢幕影片) 可另開 Activity,避免 Fragment 生命週期複雜度。
  • 舊專案重構:逐步將 `setContentView` 區塊拆分為 Fragment,再接入 Navigation Graph。

書本範例的意圖

教材展示 `setContentView` 多次呼叫純粹為演示 API 用法,非架構建議。實務開發請直接採用「單 Activity 多 Fragment」或「多 Activity」標準模式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved