android.app.Fragment和 android.support.v4.app.Fragment有什么区别? 在什么情况下应该使用它们?
android.app.Fragment
android.support.v4.app.Fragment
android.support.v4.app.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。
编辑: 包含 OS 的 android.app.Fragment 现在已经废弃了(从 API 级别28开始) ,每个人都应该转向使用支持库实现。
我只使用 android.support.v4.app.Fragment。
我写的所有应用程序都需要支持 Android 2.3,这是最简单的方法。
如果你支持11 + ,那么坚持使用 android.app.Fragment。
android.support.v4.app.Fragment是一个库,您可以使用它来获得旧 API 版本的向后兼容性。
片段是在 API 级别11(以及其他特性)上添加的,您应该包括那个库,以便将那些功能扩展到 API 11之前的设备。这是一个非常有用的库,我建议您查看 ActionBarSherlock,它将操作栏扩展到了 API 之前的 v11设备。
如果您的应用程序的目标是 API 11或以上,您可以使用 android.app.Fragment和您的 APK 文件将更小。
否则,将 android.support.v4.app.Fragment库添加到您的项目中,以支持较早的 Android API 版本(Android 3.x)。
截至2018年:
来自 android.app.Fragment 文件:
此类在 API 级别28中已被弃用。 使用支持库 Fragment实现跨所有设备的一致行为和对生命周期的访问。
Fragment
因此,现在应该到处使用支持片段(android.support.v4.app.Fragment) ,而不是原生片段(android.app.Fragment)。
如果应用程序的目标是 API 11或更高级别,则可以使用 android.app。片段,它将减少 APK 的大小。 否则使用 android.support. v4.app. 片段