Sự Khác nhau giữa Activity và Fragment trong Android

fragment

Vài điểm khác biệt

Tiêu chíActivityFragment
Vị trí đối với ứng dụngActivity là hoạt động,cửa số chính,tồn tại độc lậpFragment là một phần của Activity Đóng góp UI và hoạt động của nó vào thành phần chính
Vị trí tương đối với nhauActivity có thể chứa nhiều FragmentFragment là một phần của Activity
Tái hoạt độngKhông thể tái hoạt độngMột fragment có thể được tái sử dụng trong một activity,do đó nó hoạt động như một thành phần tái sử dụng trong các hoạt động.
Vòng đời899ae7f7 ff34 4beb a44c 8725eea4cf46e9b2f810 1e3a 4627 bcdd 0f5e0c5e6194
Tư tưởng hình thànhCác hoạt động là một trong những khối xây dựng cơ bản của ứng dụng trên nền tảng Android. Chúng đóng vai trò là điểm vào 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 cho cách người dùng điều hướng trong ứng dụng hoặc giữa các ứng dụngFragment đạ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 hoạt động. Bạn có thể kết hợp nhiều fragment trong một hoạt động để xây dựng giao diện đa cửa sổ và sử dụng lại một đoạn trong nhiều hoạt động. Bạn có thể nghĩ ra một đ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 chính nó, và bạn có thể thêm hoặc xoá trong khi hoạt động đang chạy.
Tổ chức vòng đờiCác phương pháp vòng đời được tổ chức bởi hệ điều hành (OS).Phương pháp vòng đời được tổ chức bởi tổ chức bởi hoạt động lưu trữ( hosting activity)

Fragment có tốt hơn ?

Vậy tóm lại,lợi ích khi sử dụng fragment là gì ?

  • tính modun hóa cao .
  • Quản lý tốt hơn vòng đời của đoạn.
  • Có thể tái sử dụng trong các hoạt động khác.
  • Việc giải phóng dữ liệu nhanh gọn,dễ dàng,đỡ tốn bộ nhớ hơn.
  • Xử lý logic linh hoạt hơn : thử nghĩ trước đây,nếu không có fragment,khi chuyển dữ liệu giữa các màn hình,ta gặp một trở ngại về logic lớn,thế nhưng khi có fragment,mọi việc đã trở nên dễ dàng hơn . Bằng cách làm cho từng màn hình thành các fragment riêng biệt, việc chuyển dữ liệu chuyển nhức đầu này là hoàn toàn tránh được.Fragment luôn tồn tại trong Activity nhất định và luôn có thể truy cập vào Activity đó. Bằng cách lưu trữ thông tin quan tâm trong Activity, Fragment cho mỗi màn hình chỉ có thể truy cập đối tượng tham chiếu thông qua Activity – mọi việc đơn giản hơn rồi nhỉ 😃 .

Hạn chế của Fragment ?

*Chúng ta phải viết thêm khá nhiều code (ví dụ : fragment manager, thêm fragment transaction, viết các phương thức callback cho fragment)

  • xử lý logic cho các thành phần phức tạp hơn nhiều lần

Tổng kết

Việc sử dụng fragment cho activity là một sự lựa chọn mang lại cho ứng dụng một sự linh hoạt,tiết kiệm tài nguyên hiệu quả so với sử dụng Activity Sự kết hợp của fragment và viewpager cung cấp khả năng phân trang linh hoạt.

Trả lời