在Android中使用支持库是出于图形原因

时间:2014-12-03 19:02:30

标签: android android-support-library

我觉得我对使用支持库有一些疑问。几个月前开始开发,我面临的情况是我的所有目标设备(让我们说API> 16)都有相当不错且一致的工具,足够智能以满足我的需求,但真的很想念一些UI元素与API = 21比较。

今天我从v7支持库中添加了三个新的依赖项。我注意到的是,正如预期的那样,应用程序的大小从仅仅200kB提升到3800kB。虽然这并不能让我担心,但我可以想象,随着大小的增加,依赖于依赖关系的流程的平滑性可以降低。我为了纯粹的图形愿望而去了v7。

我想知道:如果不是严格需要,依赖支持库是否方便?添加尺寸并失去一些平滑度是否合理,只是为了将材料带到比如4.2用户?拥有单独的样式并采取一些(有时很难的)工作来模拟旧操作系统版本的新功能会更好吗? (请注意,此处的目标是最大化应用程序的受欢迎程度)。

作为一名消费者,我一直在寻找最好看的用户界面,但前提是该应用程序应运行。此外,设备越旧(我们在这里谈论旧设备),用户就越需要关注尺寸和平滑度,因为他的硬件会过时。

P.S。:我不认为4MB是一个令人不安的大小 - 我要求某种"规则"。另外,我已经阅读了here,我觉得我的问题可能是建设性的#34;虽然是次要的。如果不是,请随意标记。

2 个答案:

答案 0 :(得分:2)

使用任何库是自己完成所有工作的捷径 - 如果您发现在许多设备和许多API版本上倾倒设计指南,实施和测试更有效,那么就这样做。对于许多人来说,更容易的选择是使用支持库。

对于APK尺寸和流程的顺畅性,Google会根据ProGuard提供两个工具缩小(通过this Google+ post announcing their availability)和缩小资源。假设您使用的是Android Studio和Gradle,则可以添加:

android {
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
        }
    }
}

将删除未使用的方法(minifyEnabled部分)以及未使用的资源(shrinkResources部分)。这对于AppCompat支持库等库来说尤其有用,它包含许多您可能实际上未在应用程序中使用的图像资源。

显然,缩小/缩小过程需要一些时间,并且可能会降低开发过程的速度,因此为什么它们仅在发布版本的示例中启用。

答案 1 :(得分:0)

我肯定会建议使用支持库。我们在商业应用中使用它们,我们不会收到旧设备用户的投诉。但是因为我们使用它们,我们能够非常迅速地采用新的Android功能,其中许多功能将非常难以实现。特别是对于Lollipop,谷歌更难以模仿用户界面。

我打算补充一些关于ProGuard的评论,我也建议这样做,但是Ian的答案在这些方面有一些很好的建议,所以我会留下它。