Ответы:
android.support.v4.app.Fragment
это класс Fragment в библиотеке поддержки Android, который представляет собой пакет совместимости, который позволяет использовать некоторые из новых функций Android на старых версиях Android.
android.app.Fragment
является фрагмент класса в родной версии Android SDK. Он был представлен в Android 3 (API 11).
Если вы хотите, чтобы ваше приложение использовало фрагменты, и вы хотите нацеливать устройства до API 11, вы должны использовать android.support.v4.app.Fragment
. Однако, если вы ориентируетесь только на устройства с API 11 или выше, вы можете использовать android.app.Fragment
.
Редактировать: содержимое ОС android.app.Fragment
теперь устарело (начиная с уровня API 28), и каждый должен перейти к использованию реализаций библиотеки поддержки.
По состоянию на 2018 год:
Из android.app.Fragment
документации :
Этот класс устарел на уровне API 28.
Используйте библиотеку поддержкиFragment
для согласованного поведения на всех устройствах и доступа к жизненному циклу.
Таким образом, поддержка фрагментов android.support.v4.app.Fragment
( android.app.Fragment
) теперь должна использоваться везде вместо собственных фрагментов ( ).
android.app.Fragment
класс устареет, у этого уровня API 28 будет альтернативный, возможно, радикальный подход к замене. Есть ли прямой подход или это обратно совместимый android.support.v4.app.Fragment
подход?
я использую android.support.v4.app.Fragment
исключительно.
Все приложения, которые я пишу, должны поддерживать Android 2.3, и это самый простой способ сделать это.
Если вы поддерживаете 11+, то придерживайтесь android.app.Fragment
.
Если ваше приложение предназначено для API 11 или выше, вы можете использовать android.app.Fragment
и ваш файл APK будет меньше.
В противном случае добавьте android.support.v4.app.Fragment
библиотеку в свой проект, чтобы поддерживать более старые версии Android API (Android 3.x).
android.support.v4.app.Fragment
библиотека, которую вы можете использовать для обратной совместимости с более старой версией API.
Фрагменты были добавлены на уровне API 11 (наряду с другими функциями), вы должны включить эту библиотеку, чтобы расширить эти функции до устройств, предшествующих API 11. Это полезная библиотека, и я предлагаю взглянуть на ActionBarSherlock, который расширяет панель действий для устройств до API v11.
Если ваше приложение предназначено для уровня API 11 или выше, вы можете использовать android.app.Fragment, и это уменьшит размер APK. В противном случае используйте android.support.v4.app.Fragment