android.app.Fragment
和之间有什么区别android.support.v4.app.Fragment
,应该在什么情况下使用它们?
6 回答
android.support.v4.app.Fragment
是android支持库中的Fragment类,它是一个兼容包,可以让你在旧版本的Android上使用Android的一些较新的特性。
android.app.Fragment
是 Android SDK 原生版本中的Fragment类。它是在 Android 3 (API 11) 中引入的。
如果你想让你的应用使用 Fragments,并且想要针对 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.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