Respostas:
android.support.v4.app.Fragment
é a classe Fragment na biblioteca de suporte do Android, que é um pacote de compatibilidade que permite usar alguns dos recursos mais recentes do Android em versões mais antigas do Android.
android.app.Fragment
é a classe Fragment na versão nativa do Android SDK. Foi introduzido no Android 3 (API 11).
Se você deseja fazer com que seu aplicativo use fragmentos e deseja segmentar dispositivos antes da API 11, você deve usar android.support.v4.app.Fragment
. No entanto, se você estiver segmentando apenas dispositivos com API 11 ou superior, poderá usar android.app.Fragment
.
Editar: o conteúdo do sistema operacional android.app.Fragment
agora está obsoleto (no nível 28 da API) e todos devem passar a usar as implementações da biblioteca de suporte.
A partir de 2018:
Da android.app.Fragment
documentação :
Esta classe foi descontinuada no nível 28 da API.
Use a Biblioteca de SuporteFragment
para obter um comportamento consistente em todos os dispositivos e acessar o Ciclo de Vida.
Portanto, fragmentos de suporte ( android.support.v4.app.Fragment
) devem ser usados em todos os lugares, em vez de fragmentos nativos ( android.app.Fragment
) agora.
android.app.Fragment
classe fosse preterida, o nível 28 da API tivesse uma abordagem de substituição alternativa, possivelmente radical. Existe uma abordagem avançada ou compatível com android.support.v4.app.Fragment
a anterior ?
eu uso android.support.v4.app.Fragment
exclusivamente.
Todos os aplicativos que escrevo precisam ser compatíveis com o Android 2.3 e essa é a maneira mais fácil de fazer isso.
Se você está apoiando 11+, continue com android.app.Fragment
.
Se seu aplicativo estiver direcionado para a API 11 ou superior, você poderá usar android.app.Fragment
e seu arquivo APK será menor.
Caso contrário, adicione a android.support.v4.app.Fragment
biblioteca ao seu projeto para oferecer suporte a versões mais antigas da API do Android (Android 3.x).
android.support.v4.app.Fragment
é uma biblioteca que você pode usar para obter compatibilidade com versões anteriores da versão mais antiga da API.
Fragmentos foram adicionados no nível 11 da API (junto com outros recursos). Você deve incluir essa biblioteca para estender essas funções aos dispositivos anteriores à API 11. Essa é uma biblioteca útil e sugiro dar uma olhada no ActionBarSherlock, que estende a barra de ação aos dispositivos anteriores à API v11.
Se o seu aplicativo estiver direcionado para a API 11 ou acima do nível, você poderá usar android.app.Fragment e reduzirá o tamanho do APK. Caso contrário, use android.support.v4.app.Fragment