我觉得我对使用支持库有一些疑问。几个月前开始开发,我面临的情况是我的所有目标设备(比方说 API>16)都有非常好的和一致的工具,足够智能以满足我的需求,但与 API= 相比确实缺少一些 UI 元素21.
今天我从 v7 支持库中添加了三个新的依赖项。我注意到,正如预期的那样,应用程序大小从 200kB 增加到 3800kB。虽然这并没有真正让我担心,但我可以想象,随着大小的增加,依赖依赖关系的过程的流畅性会降低。我选择 v7 是出于纯粹的图形愿望。
我想知道:如果不是严格需要,依赖支持库是否方便?增加尺寸并失去一些平滑度是否合理,只是为了将 Material 带给 >4.2 的用户?拥有不同的风格并采取一些(有时是艰苦的)工作来模拟旧操作系统版本上的新功能会更好吗? (请注意,这里的目标是最大限度地提高应用程序的知名度)。
作为一名消费者,我会选择外观最好的用户界面,但前提是应用程序能够正常运行。此外,设备越旧(我们在这里谈论的是旧设备),用户就越关心尺寸和平滑度,因为他的硬件会过时。
P.S.:我不认为 4MB 是一个麻烦的大小 - 我要求某种“规则”。另外,我读过here ,我觉得我的问题可能是“建设性的”,尽管是次要的。如果不是,请随意标记它。
最佳答案
使用任何库都是自己完成所有工作的捷径 - 如果您发现在许多设备和许多 API 版本上倾注设计指南、实现和测试更有效,那么就这样做。对于许多人来说,更简单的选择是使用支持库。
对于 APK 大小和“流程的平滑度”,Google 提供了两个工具缩小(通过 ProGuard )和根据 this Google+ post announcing their availability 缩小资源.假设您使用的是 Android Studio 和 Gradle,您可以添加:
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
}
}
}
这将去除未使用的方法(minifyEnabled
部分)以及未使用的资源(shrinkResources
部分)。这对于 AppCompat 支持库等库特别有用,它包含许多您可能不会在应用程序中实际使用的图像资源。
显然,缩小/缩小过程需要一些时间,并且会减慢您的开发过程,因此为什么只在该示例中为发布版本启用它们。
关于android - 出于图形原因在 Android 中使用支持库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27279609/