Sự khác biệt giữa 2 phương thức add() và replace() Fragment trong Android
Có lẽ trong các Android app phát triển hiện nay không thể thiếu thành phần Fragment nó giúp phân đoạn code thành các khối dễ quản lý thay vì dựa vào các lớp Activity lớn, phức tạp
Vậy khi sử dụng Fragment thì các bạn sẽ biết đến 2 phương thức add() và replace() để thêm 1 Fragment. Vậy sự khác biệt của nó như thế nào cùng tìm hiểu với mình nhé!
> 1.Add() Fragment: khi sử dụng add Fragment B lên Fragment A thì A vẫn ở trạng thái onResume() chỉ bị Fragment B đè lên không ảnh hưởng gì. Khi click Back thì Fragment B sẽ bị hủy Fragment A vẫn hoạt động bình thường.
> 2. Repalce() Fragment: khi sử dụng replace Fragment B lên Fragment A thì Fragment B sẽ thay thế Fragment A và Fragment A sẽ chạy qua các phương thức onPause() -> onStop() -> onDestroyView(), khi nhấn Back hệ thống thì Fragment B sẽ bị hủy và Fragment A sẽ được restore lại-> onCreateView() -> onStart() -> onResume() . => nó sẽ tìm đến cái instance Fragment A.
3. Không bốc phét nữa, để kiểm chứng cho điều này mình có đặt log, dựa vào ảnh log các bạn sẽ thấy rõ nó chạy như thế nào nhé: !
Đây là log của Add
Đây là log của Replace
Link các bạn có thể tham khảo: Link
Cảm ơn các bạn đã đọc bài viết. Xin chào, hẹn gặp lại ở các bài viết sau :v
Nguồn: viblo.asia