Sự khác biệt giữa hoạt động và phân mảnh là gì?


80

Theo nghiên cứu của tôi, có sự khác biệt đáng kể trong khái niệm backstack và cách chúng tồn tại:

Hoạt động

  • Khi activityđược đặt vào backstackcủa activitiesngười dùng có thể điều hướng trở lại các hoạt động trước đó bằng cách nhấn các back nút.

  • Activity có thể tồn tại độc lập.

Miếng

  • Khi một fragmentđược đặt vào hoạt động, chúng tôi phải yêu cầu phiên bản được lưu bằng cách gọi addToBackstack()trong fragment transaction.

  • Fragment phải sống bên trong activity

Có bất kỳ sự khác biệt bổ sung nào không?


8
Các phân đoạn không cần được khai báo trong tệp kê khai. Chúng tôi có mảnh vỡ lồng nhau nhưng chúng tôi không thể có activties lồng nhau
Hoomi

Câu trả lời:


52

Đó là hai điều hoàn toàn khác nhau:

Hoạt động là một thành phần ứng dụng cung cấp màn hình mà người dùng có thể tương tác để thực hiện điều gì đó. Thêm chi tiết: http://developer.android.com/guide/components/actiilities.html

Trong khi Fragment đại diện cho một hành vi hoặc một phần của giao diện người dùng trong một Activity. http://developer.android.com/guide/components/fragment.html


38

Sự khác biệt chính giữa Hoạt động và Phân mảnh

  1. Hoạt động là một thành phần ứng dụng cung cấp giao diện người dùng nơi người dùng có thể tương tác. Phân đoạn là một phần của hoạt động, đóng góp giao diện người dùng của chính nó cho hoạt động đó.
  2. Đối với Máy tính bảng hoặc nếu thiết bị di động ở chế độ ngang thì Sử dụng phân đoạn, chúng tôi có thể hiển thị hai danh sách như danh sách duy nhất để hiển thị tên trạng thái và các danh sách khác sẽ hiển thị mô tả trạng thái trong một hoạt động nhưng sử dụng Hoạt động, chúng tôi không thể làm điều tương tự.
  3. Hoạt động không phụ thuộc vào phân mảnh. Nhưng phân mảnh phụ thuộc vào Hoạt động, nó không thể tồn tại độc lập.
  4. nếu không sử dụng phân mảnh trong Hoạt động, chúng tôi không thể tạo giao diện người dùng nhiều ngăn. nhưng bằng cách sử dụng nhiều phân đoạn trong một hoạt động, chúng ta có thể tạo giao diện người dùng nhiều ngăn.
  5. Nếu chúng ta tạo một dự án chỉ sử dụng Activity thì sẽ khó quản lý nhưng nếu chúng ta sử dụng các mảnh thì cấu trúc dự án sẽ tốt và chúng ta có thể xử lý nó dễ dàng.
  6. Một hoạt động có thể chứa 0 hoặc nhiều số đoạn. Một phân mảnh có thể được sử dụng lại trong nhiều hoạt động, vì vậy nó hoạt động giống như một thành phần có thể tái sử dụng trong các hoạt động.
  7. Hoạt động có vòng đời riêng nhưng mảnh có vòng đời riêng.
  8. Đối với Activity, chúng ta chỉ cần đề cập trong Manifest nhưng đối với phân đoạn thì không cần.
  9. Hoạt động sử dụng nhiều bộ nhớ và phân đoạn không phải là bộ nhớ được sử dụng.
  10. Hoạt động không phải là trọng lượng nhỏ. Mảnh vỡ là trọng lượng nhỏ.

Lời giải thích hay.
Abhishek kumar

Ai đó có thể giải thích về # 10. Điều gì làm cho phân mảnh nhẹ so với hoạt động?
dazzieta

# 7 không có ý nghĩa: - \
t3chb0t

23

Theo tài liệu dành cho nhà phát triển Android, sự khác biệt giữa phân mảnh và hoạt động trong vòng đời của chúng.

Liên kết tài liệu http://developer.android.com/guide/components/fragment.html#Lifecycle

Sự khác biệt đáng kể nhất trong vòng đời giữa một hoạt động và một phân đoạn là cách một hoạt động được lưu trữ trong ngăn xếp tương ứng của nó. Theo mặc định, một hoạt động được đặt vào một ngăn xếp các hoạt động được quản lý bởi hệ thống khi nó dừng lại (để người dùng có thể điều hướng trở lại nó bằng nút Quay lại, như đã thảo luận trong Tác vụ và Ngăn xếp trở lại). Tuy nhiên, một phân đoạn được đặt vào một ngăn xếp phía sau được quản lý bởi hoạt động máy chủ lưu trữ chỉ khi bạn yêu cầu rõ ràng rằng cá thể đó được lưu bằng cách gọi addToBackStack () trong một giao dịch loại bỏ phân đoạn.

Mặt khác, quản lý vòng đời phân mảnh rất giống với quản lý vòng đời hoạt động. Vì vậy, các phương pháp tương tự để quản lý vòng đời hoạt động cũng áp dụng cho các phân đoạn. Tuy nhiên, điều bạn cũng cần hiểu là tuổi thọ của hoạt động ảnh hưởng như thế nào đến tuổi thọ của mảnh.

& đối với bố cục nhiều ngăn, bạn phải sử dụng fragmentmà bạn không thể đạt được activity.


20

Activity là giao diện người dùng của một ứng dụng mà qua đó người dùng có thể tương tác và Fragment là một phần của Activity, nó là một hoạt động phụ bên trong Activity có Vòng đời riêng của nó chạy song song với Vòng đời hoạt động.

Activity LifeCycle                           Fragment LifeCycle
onCreate()                                     onAttach()
    |                                              |
onStart()______onRestart()                     onCreate()
    |             |                                |
onResume()        |                            onCreateView()
    |             |                                |
onPause()         |                            onActivityCreated()
    |             |                                |
onStop()__________|                             onStart()
    |                                              |
onDestroy()                                    onResume()
                                                   |
                                                onPause()
                                                   |
                                                onStop()
                                                   |
                                              onDestroyView()
                                                   |
                                               onDestroy()
                                                   |
                                               onDetach()

5

Hoạt động
1. Hoạt động là một trong những nền tảng cơ bản của ứng dụng trên nền tảng Android. Chúng đóng vai trò là điểm khởi đầu cho sự tương tác của người dùng với một ứng dụng và cũng là trung tâm của cách người dùng điều hướng trong một ứng dụng hoặc giữa các ứng dụng
2. Các phương thức vòng đời được lưu trữ bởi OS.
3. Vòng đời của hoạt động

Các phân đoạn
1. Phân mảnh biểu thị một hành vi hoặc một phần của giao diện người dùng trong một Hoạt động. Bạn có thể kết hợp nhiều phân đoạn trong một hoạt động để tạo giao diện người dùng nhiều ngăn và sử dụng lại một phân đoạn trong nhiều hoạt động. Bạn có thể coi một phân đoạn như một phần mô-đun của một hoạt động, có vòng đời riêng của nó, nhận các sự kiện đầu vào của riêng nó và bạn có thể thêm hoặc xóa khi hoạt động đang chạy.
2. Các phương pháp vòng đời được lưu trữ bởi được lưu trữ bởi hoạt động lưu trữ.
3. Vòng đời của một mảnh vỡ

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.