Câu trả lời:
android.support.v4.app.Fragment
là lớp Fragment trong thư viện hỗ trợ Android, đây là gói tương thích cho phép bạn sử dụng một số tính năng mới hơn của Android trên các phiên bản Android cũ hơn.
android.app.Fragment
là lớp Fragment trong phiên bản gốc của SDK Android. Nó được giới thiệu trong Android 3 (API 11).
Nếu bạn muốn làm cho ứng dụng của mình sử dụng các đoạn và muốn nhắm mục tiêu các thiết bị trước API 11, bạn phải sử dụng android.support.v4.app.Fragment
. Tuy nhiên, nếu bạn chỉ nhắm mục tiêu các thiết bị chạy API 11 trở lên, bạn có thể sử dụng android.app.Fragment
.
Chỉnh sửa: hệ điều hành có chứa android.app.Fragment
hiện không được chấp nhận (kể từ cấp API 28) và mọi người nên chuyển sang sử dụng các triển khai thư viện hỗ trợ.
Tính đến năm 2018:
Từ android.app.Fragment
tài liệu :
Lớp này không được chấp nhận ở cấp độ API 28.
Sử dụng Thư viện hỗ trợFragment
cho hành vi nhất quán trên tất cả các thiết bị và truy cập Vòng đời.
Vì vậy, các đoạn hỗ trợ ( android.support.v4.app.Fragment
) nên được sử dụng ở mọi nơi thay vì các đoạn gốc ( android.app.Fragment
) bây giờ.
android.app.Fragment
lớp bị phản đối, API cấp 28 đó sẽ có một cách tiếp cận thay thế triệt để, có thể thay thế triệt để. Có một cách tiếp cận về phía trước hay điều này có tương thích ngược với android.support.v4.app.Fragment
cách tiếp cận phù hợp không?
Tôi sử dụng android.support.v4.app.Fragment
độc quyền.
Tất cả các ứng dụng tôi viết cần hỗ trợ ngay cho Android 2.3 và đây là cách dễ nhất để làm điều đó.
Nếu bạn đang hỗ trợ 11+ thì hãy kiên trì android.app.Fragment
.
Nếu ứng dụng của bạn được nhắm mục tiêu cho API 11 trở lên, Bạn có thể sử dụng android.app.Fragment
và tệp APK của bạn sẽ nhỏ hơn.
Mặt khác, thêm android.support.v4.app.Fragment
thư viện vào dự án của bạn để hỗ trợ các phiên bản API Android cũ hơn (Android 3.x).
android.support.v4.app.Fragment
là một thư viện mà bạn có thể sử dụng để có được khả năng tương thích ngược cho phiên bản API cũ hơn.
Các đoạn đã được thêm vào API cấp 11 (cùng với các tính năng khác), bạn nên bao gồm thư viện đó để mở rộng chức năng đó cho các thiết bị API 11 trước. Đó là một thư viện hữu ích và tôi khuyên bạn nên xem ActionBarSherlock, nơi mở rộng thanh hành động cho các thiết bị API v11 trước.
Nếu ứng dụng của bạn được nhắm mục tiêu cho cấp độ API 11 trở lên, Bạn có thể sử dụng android.app.Fragment và nó sẽ giảm kích thước APK. Nếu không, hãy sử dụng android.support.v4.app.Fragment