Respuestas:
android.support.v4.app.Fragment
es la clase Fragment en la biblioteca de soporte de Android, que es un paquete de compatibilidad que le permite utilizar algunas de las funciones más recientes de Android en versiones anteriores de Android.
android.app.Fragment
es la clase Fragment en la versión nativa del SDK de Android. Fue introducido en Android 3 (API 11).
Si desea hacer que su aplicación use fragmentos y desea apuntar a dispositivos antes de API 11, debe usarlos android.support.v4.app.Fragment
. Sin embargo, si solo está apuntando a dispositivos que ejecutan API 11 o superior, puede usar android.app.Fragment
.
Editar: el sistema operativo android.app.Fragment
ahora está en desuso (a partir del nivel 28 de API), y todos deberían pasar a usar las implementaciones de la biblioteca de soporte.
A partir de 2018:
De la android.app.Fragment
documentación :
Esta clase quedó en desuso en el nivel 28 de API.
Use la Biblioteca de soporteFragment
para un comportamiento coherente en todos los dispositivos y acceso a Lifecycle.
Por lo tanto, los fragmentos de soporte ( android.support.v4.app.Fragment
) deben usarse en todas partes en lugar de fragmentos nativos ( android.app.Fragment
) ahora.
android.app.Fragment
clase fuera obsoleta, el nivel 28 de la API tuviera un enfoque de reemplazo alternativo, posiblemente radical. ¿Existe un enfoque hacia adelante o es compatible con android.support.v4.app.Fragment
la versión anterior?
Yo uso android.support.v4.app.Fragment
exclusivamente.
Todas las aplicaciones que escribo deben ser compatibles con Android 2.3 y esta es la forma más fácil de hacerlo.
Si estás apoyando a 11+, entonces quédate android.app.Fragment
.
Si su aplicación está destinada a API 11 o superior, puede usarla android.app.Fragment
y su archivo APK será más pequeño.
De lo contrario, agregue la android.support.v4.app.Fragment
biblioteca a su proyecto para admitir versiones anteriores de la API de Android (Android 3.x).
android.support.v4.app.Fragment
es una biblioteca que puede usar para obtener compatibilidad con versiones anteriores de la API.
Se agregaron fragmentos en el nivel de API 11 (junto con otras características). Debe incluir esa biblioteca para extender esas funciones a dispositivos anteriores a API 11. Esa es una biblioteca útil y sugiero echar un vistazo a ActionBarSherlock, que extiende la barra de acción a dispositivos pre-API v11.
Si su aplicación está destinada a API 11 o superior, puede usar android.app.Fragment y reducirá el tamaño del APK. De lo contrario, use android.support.v4.app.Fragment