12/08/2018, 15:37
Khác nhau giữa Activity và Fragment trong Android
Bài viết dưới đây tổng hợp ý kiến bản thân về sự khác nhau giữa Activity và Fragment trong Android của cá nhân mình Tiêu chí Activity Fragment Vị trí đối với ứng dụng Activity là hoạt động,cửa số chính,tồn tại độc lập Fragment là một phần của Activity Đóng góp UI và hoạt động của ...
Bài viết dưới đây tổng hợp ý kiến bản thân về sự khác nhau giữa Activity và Fragment trong Android của cá nhân mình
Tiêu chí | Activity | Fragment |
---|---|---|
Vị trí đối với ứng dụng | Activity là hoạt động,cửa số chính,tồn tại độc lập | Fragment 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 nhau | Activity có thể chứa nhiều Fragment | Fragment là một phần của Activity |
Tái hoạt động | Không thể tái hoạt động | Mộ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 đời | ||
Tư tưởng hình thành | Cá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ụng | 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 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 đời | Cá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) |
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ỉ