Hes*_*sam 36 android android-support-library
据我所知,支持库正在使用,因为旧设备没有新的API.例如,他们不知道Fragment是什么以及如何实现它.因此,这些行为在支持库中定义.
因此,我的主要问题是,支持库中的Fragment库与它在API 11(Android v3.0,Honeycomb)中引入的双胞胎之间的区别是什么.
我的第二个问题是,如果可以将每个新API都放在支持库中,为什么我们有两种类型的库?我的意思是Android可以在支持库下发布所有API,而不是支持库和Android版本X.xx库.
Uma*_*shi 42
据我所知,支持库可以作为内置API的替代品,但它们不应该是,因为它们直接影响应用程序的大小.
例如,一个支持库是2MB,并且为了使用它的功能,它需要所有类,资源等(2MB),所以classes.dex
我的应用程序现在(应用程序中使用的所有类的Dalvik可执行文件)也包含该支持库类,资源相同.因此,如果没有支持库,我的应用程序大小为1MB,那么现在使用支持库,大小为2MB,这意味着总共3MB.
现在,假设这个支持库功能如此常见,以至于在单个设备上,如果我有10个应用程序,那么至少有9个使用相同的支持库,因此我的设备上的9*2 = 18MB正被同一个支持库使用,这在每个应用程序中重复,这是不好的,因为现在18MB可能不是那么多,但是如果你有更多的应用程序使用该支持库,所需的空间可能会增加.
因此,最好的选择是在您的操作系统中为任意数量的应用程序提供2MB支持库,而不是将其用于每个应用程序.因此,当您真正想要在应用程序中使用某些高效功能来支持旧版本时,可以使用支持库.
这里出现另一个问题:
为什么不将此支持库作为自己的更新添加到操作系统中,以便每个没有大小问题的应用程序都可以访问该功能?
答案是可能存在很多错误.假设某些用户没有安装该更新(支持库)...
还有可能作为更新,它可能无法正常工作,或者可能在与OS集成时引起问题,因为我们已经看到每个操作系统(Windows,Linux,mac)都带有新版本,而不只是为所有新功能提供终身更新.
Com*_*g88 13
与Android 2.3.x(Gingerbread)相比,Android 4.0.x(ICS)具有许多附加功能.兼容性库可以桥接一些添加到ICS的更改,这些更改可以由Gingerbread支持."可能"是这里的关键词,因为对ICS进行了大量的改动,这些改变永远不会与Gingerbread一起使用,当然,这些改变不会得到兼容性库.
例如,您提出的碎片在ICS中实际上与兼容性库略有不同,因为ICS具有更多可以使用的功能.如果查看Fragments类的ICS代码,它们与兼容性库中的代码不同.它是第二组代码,用于制作"像ICS中的片段"一样的东西,用于像Gingerbread这样的旧版本,而程序员却没有注意到它们之间的差别.
这就是兼容性库的要点以及为什么它们不能用于广泛修补Gingerbread以使用ICS中的所有功能的原因(他们不能).兼容性库的要点是接口在较新版本的android(如ICS)中可用的东西,以ICS方式完成GB等旧版本,以GB方式完成.
至于为什么他们不只是保持支持库增长并留下相同的基本操作系统 - 答案就是兼容性问题.如果用户只有v4和v12已经用完,会发生什么?安卓现在使用的操作系统Android的API版本的应用程序兼容性的基础和开发商有一个选项,以包括支持库(增加其应用程序的文件大小,但给他们新功能).每个使用支持库的应用程序都独立包含它们(意味着4个应用程序= 4x包括在内).
我们的想法是,您只能下载操作系统当前API版本支持的应用程序(就Google Play而言),您可以选择包含支持库,以保持旧版API支持的应用程序外观,还没有您选择在较新的API上为这些用户提供的功能.它真的是一种外观和感觉,而不是其他任何东西.
希望这能说明问题 :)
已经说过这是真的.虽然缺少一些细节.事实上,我有机会参加他们专门讨论过的最后一次Google IO会议.实际上令我惊讶的是,我知道支持库没有托管所有可用API版本的代码,而是它们对新功能的改编,他们认为这些功能足以使它们可用于旧平台.所以它的工作方式通常如下:
所以它就像某种路由网关.原因在于,使用针对最后一个OS优化的最后一个代码以及最后的系统改进(即:硬件加速)通常更有效(并且执行).
尽管如此,仍有一些元素未转换为compat库,因为它们位于本机内置代码中.例如,片段不打算重写,因为它们来自API13,因为它们是一个巨大的组件,需要在系统和功能较少的设备中的各种不同场景中运行.
最终,因为所有这些,建议使用compats库,这是一个很好的做法,特别是如果你打算让你的应用程序/代码可用于旧版本(这应该是理想的方式)
归档时间: |
|
查看次数: |
9855 次 |
最近记录: |