Activity和Fragment有什麼區別

黄增松發表於2024-07-03

Activity 和 Fragment 是 Android 應用開發中兩個非常重要的元件,它們都有各自的生命週期方法,包括 onCreate。然而,它們有一些關鍵的區別:

Activity
獨立性: Activity 是一個獨立的、可直接啟動的元件。它通常代表應用的一個單一螢幕(介面)。
生命週期: Activity 有自己的完整生命週期(onCreate, onStart, onResume, onPause, onStop, onDestroy 等)。
啟動方式: 可以透過意圖(Intent)直接啟動一個 Activity。
資源消耗: 由於每個 Activity 都是一個獨立的元件,過多的 Activity 可能會導致應用變得複雜並增加資源消耗。
用途: 通常用於實現應用的主要功能介面。


Fragment
依賴性: Fragment 是一個可嵌入 Activity 中的 UI 片段,不能獨立存在。
生命週期: Fragment 有自己的生命週期,但它是依賴於宿主 Activity 的生命週期的。
啟動方式: 不能直接啟動一個 Fragment,必須將其附加到一個 Activity。
資源消耗: 通常比 Activity 更輕量級,更適用於複用和組合。
用途: 通常用於實現複雜的 UI 結構,如選項卡、側滑選單等。


檔案位置
Activity 通常位於 src/main/java/[your-package-name]/ 下,並且繼承自 AppCompatActivity 或 Activity。
Fragment 也通常位於 src/main/java/[your-package-name]/ 下,但是繼承自 Fragment。


示例
MainActivity.kt 或 MainActivity.java 通常用於定義 Activity。
MyFragment.kt 或 MyFragment.java 用於定義 Fragment。
這兩者之間的主要區別在於它們的用途、依賴性和生命週期。您可以根據應用的需求來選擇使用哪一個。

原文連結:https://blog.csdn.net/m0_57236802/article/details/132805758

相關文章