Android支持库是否默认为最新Android版本上的本机库?

Android支持库是否默认为最新Android版本上的本机库?,android,android-support-library,android-5.0-lollipop,android-recyclerview,Android,Android Support Library,Android 5.0 Lollipop,Android Recyclerview,当启动任何Android项目时,开发人员必须在使用支持库或本机库之间进行选择 当在棒棒糖上使用支持库时会发生什么?如果我使用,并且它在棒棒糖设备上运行,库是否自动默认为 我假设本机库比支持库更高效 编辑:现在以工具栏为例,而不是RecyclerView 当在棒棒糖上使用支持库时会发生什么?如果我使用工具栏支持库对象,并且它运行在棒棒糖设备上,库是否自动默认为工具栏的本机实现 不,它没有,你可以通过看照片来判断。当前appcompat-v7工件中的任何内容都不会委托给本机实现 Android支持包

当启动任何Android项目时,开发人员必须在使用支持库或本机库之间进行选择

当在棒棒糖上使用支持库时会发生什么?如果我使用,并且它在棒棒糖设备上运行,库是否自动默认为

我假设本机库比支持库更高效

编辑:现在以工具栏为例,而不是RecyclerView

当在棒棒糖上使用支持库时会发生什么?如果我使用工具栏支持库对象,并且它运行在棒棒糖设备上,库是否自动默认为工具栏的本机实现

不,它没有,你可以通过看照片来判断。当前
appcompat-v7
工件中的任何内容都不会委托给本机实现

Android支持包非常庞大,不同的东西会有不同的表现。最好的经验法则是,对于以
Compat
结尾的Java类(例如,
NotificationCompat
),该类将根据API级别在可能的情况下委托给本机实现,并在本机实现不存在的情况下实现一个后端口或简单地“no op”请求。而且,尽管名称不同,AppCompat并不是一个Java类,这就是为什么它仍然遵循这一经验法则的原因。:-)

我假设本机库比支持库更高效

对于“高效”一词的大多数定义而言,情况并非如此。它将节省APK大小。在速度和内存消耗方面,不太可能有任何显著差异

当启动任何Android项目时,开发人员必须在使用支持库或本机库之间进行选择


如前所述,“支持库”非常庞大,应用程序可能会混合使用Android支持包中的内容和其他不支持的内容。例如,应用程序在使用本机操作栏和片段时可能会使用
NotificationCompat
(例如,改进对Android Wear和Android 5.0锁屏通知的支持)。

我在API 5中没有看到RecyclerView,或者我错了吗?@pskink使用工具栏作为示例。@DerGolem谢谢!如果你把这个作为回答,我会接受的it@DerGolem你的陈述很不幸是错误的